14、执行以下程序段后,i的值是 ( C ) int i=10; switch(i+1)
{ case 10: i++; break; case 11: ++i; case 12: ++i; break; default : i=i+1; } A 11 B 13 C 12 D 14 15、语句while(!e);中的条件!e等价于 ( A ) A e==0 Be!=1 C e!=0 D运行时出错 16、 用 int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是 ( B ) A 随机值 B 0 C 1 D F
17、 在执行char str[10]=“china\\0”; strlen(str)的结果是 ( A ) A5 B 6 D 7 D 9
18、若有定义,char *p=”computer”;则语句printf(“%c”,*(p+2))运行结果是 ( B ) A 随机值 B m Co Domputer 19、 在以下函数调用语句中 fun1(x,10,(x,10),fun2(y,10,(y,10)));
函数fun1参数的个数为 ( B ) A 8 B 4 C 5 D 编译出错
20、下面有关for循环的正确描述是( D)
A、 for循环只能用于循环次数已经确定的情况 B、 for循环是先执行循环体语句,后判定表达式 C、 在for循环中,不能用break语句跳出循环体
D、 for循环体语句中,可以包含多条语句,但要用花括号括起来 21、下面程序的运行结果是(C ) #includemain()
{int num=0; while(num<=2) {num++;
printf(“%d ,num); } }
A、 1 B、 1 2 C、 1 2 3 D、 1 2 3 4
22、以下描述正确的是 (D )
A、 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B、 do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。
C、 在do-while循环体中,一定要有能使while后面表达式的值变成零(“假”)的操作。
D、 do-while循环中,根据情况可以省略while。 23、以下对一维整形数组a的正确说明是 ( D) A、 int a(10); B、 int n=10,a[n]; C、 int n; D、 int a[10]; scanf(“%d”,&n);
int a[n];
24、用C语言编写的代码程序( B )
A可立即执行 B是一个源程序
C经过编译即可执行 D经过编译解释才能执行
25、C语言中用于结构化程序设计的三种基本结构是( A )
A顺序结构、选择结构、循环结构 B if、switch、break C for、while、do-while D if、for、continue 26、有以下程序 main()
{ int p[7]={11,13,14,15,16,17,18}, i=0,k=0; while(i<7 && p[i]%2) { k =k+ p[i]; i++; } printf(\ }
执行后输出结果是( D )
A 58 B 56 C 45 D 24 27、以下叙述中正确的是( C )
A、 C语言比其他语言高级 B、C语言可以不用编译就能被计算机识别执行 C、C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D、C语言出现的最晚,具有其他语言的一切优点 28、下列叙述中正确的是(A )
A、C程序中注释部分可以出现在程序中任意合适的地方 B、花括号\和\只能作为函数体的定界符
C、构成C程序的基本单位是函数,所有函数名都可以由用户命名 D、分号是C语句之间的分隔符,不是语句的一部分 29、 以下程序的执行结果是( A )。
#includemain() {
int sum,pad; sum=pad=5; pad=sum++; pad++; ++pad;
printf(\}
A.7 B.6 C.5 D.4
30、为了避免嵌套的if-else语句的二义性,c语言规定else总是与( C )组成配对关系。
A.缩排位置相同的if B.在其之前末配对的if
C.在其之前未配对的最近的if D.同一行上的if
31、 语句while(!e);中的条件!e等价于( A )。
A.e==0 B.e!=1 C.e!=0 D.~e 32、下面有关for循环的正确描述是( D )
A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判定表达式 C.在for循环中,不能用break语句跳出循环体
D.for循环体语句中,可以包含多条语句,但要用花括号括起来
33、设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确
执行的赋值语句是( B )。
A.c=*p1+p2; B.p2=c C.p1=p2 D.c=*p1*(*p2); 34、 在位运算中,操作数每左移一位,其结果相当于( A ). A.操作数乘以2 B.操作数除以2 C.操作数除以4 D.操作数乘以4
35、 系统的标准输入文件是指( A )。
A. 键盘 B .显示器 C .软盘 D. 硬盘
二、编程题(能正确表达出题目的含义、要求,且格式正确,即可得满分,不要求形式完全相同。部分正确可按比例得分,否则不得分。)
1、试编程判断输入的正整数是否既是5又是7的正倍数。若是,则输出yes;否则输出no。 答案:#includemain() {int x;
scanf(\
if(x%5==0&&x%7==0) printf(\ else
printf(\ }
2、对15个数进行排序,按从小到大的顺序输出。 答案: # includemain()
{int i,j,a[15],t;
printf(\ for(i=0;i<15;i++) scanf(\ for(j=0;j<15;j++) for(i=0;i<15-j;i++) if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;} for(i=0;i<15;i++) printf(\