历年全国计算机二级C语言试题库完整 下载本文

内容发布更新时间 : 2024/11/13 7:44:16星期一 下面是文章的全部内容请认真阅读。

. . . .

50道C语言知识题

1.以下叙述中正确的是

A)用C程序实现的算法必须要有输入和输出操作

B)用C程序实现的算法可以没有输出但必须要有输入 C)用C程序实现的算法可以没有输入但必须要有输出 D)用C程序实现的算法可以既没有输入也没有输出 2.下列可用于C语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car

C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e

4.若有语句:char*line[5];,以下叙述中正确的是

A)定义line是一个数组,每个数组元素是一个基类型为char为指针变量 B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line是一个指针数组,语句中的*号称为间址运算符 D)定义line是一个指向字符型函数的指针 5.以下定义语句中正确的是

A)inta=b=0;B)charA=65+1,b=′b′;

6.有以下程序段

charch;intk; ch=′a′; k=12;

printf(\

已知字符a的ASCII码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main()

{inti,s=1;

for(i=1;i<50;i++)

if(!(i%5)&&!(i%3))s+=i; printf(\ 程序的输出结果是 A)409B)277C)1D)91

8.当变量c的值不为2、4、6时,值也为\真\的表达式是 A)(c==2)||(c==4)||(c==6)

B)(c>=2&&c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1)

9.若变量已正确定义,有以下程序段

参考

精心整理 inta=3,b=5,c=7; if(a>b)a=b;c=a; if(c!=a)c=b; printf(\ 其输出结果是 A)程序段有语法错B)3,5,3C)3,5,5D)3,5,7 10.有以下程序 #include main() {intx=1,y=0,a=0,b=0; switch(x) {case1: switch(y) {case0:a++;break; case1:b++;break; } case2:a++;b++;break; case3:a++;b++; } printf(\ } 程序的运行结果是 A)a=1,b=0B)a=2,b=2C)a=1,b=1D)a=2,b=1 11.下列程序的输出结果是 #include\ main() {inti,a=0,b=0; for(i=1;i<10;i++) {if(i%2==0) {a++; continue;} b++;} printf(\ A)a=4,b=4B)a=4,b=5C)a=5,b=4D)a=5,b=5 已知 #intt=0; while(t=1) {...} 则以下叙述正确的是 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 12.下面程序的输出结果是 main() {inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf(\ 精心整理 A)3B)4C)1D)2 13.以下错误的定义语句是 A)intx[][3]={{0},{1},{1,2,3}}; B)intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; C)intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)intx[][3]={1,2,3,4}; 14.有以下程序 voidss(char*s,chart) {while(*s) {if(*s==t)*s=t-′a′+′A′; s++;}} main() {charstr1[100]=\ ss(str1,c);printf(\ 程序运行后的输出结果是 A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd 15.有如下程序 main() {charch[2][5]={\ inti,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>′\\0′;j+=2) s=10*s+p[i][j]-′0′; printf(\ 该程序的输出结果是 A)69825B)63825C)6385D)693825 16.有定义语句:chars[10];,若要从终端给s输入5个字符,错误的输入语句是 A)gets(&s[0]);B)scanf(\ 17.以下叙述中错误的是 A)在程序中凡是以\开始的语句行都是预处理命令行 B)预处理命令行的最后不能以分号表示结束 C)#defineMAX是合法的宏定义命令行 D)C程序对预处理命令行的处理是在程序执行的过程中进行的 18.设有以下说明语句 typedefstruct {intn; charch[8]; }PER; 则下面叙述中正确的是 A)PER是结构体变量名B)PER是结构体类型名 C)typedefstruct是结构体类型D)struct是结构体类型名 19.以下叙述中错误的是 A)gets函数用于从终端读入字符串 B)getchar函数用于从磁盘文件读入字符 C)fputs函数用于把字符串输出到文件 D)fwrite函数用于以二进制形式输出数据到文件