c语言可以编制出功能复杂的程序,2018级《C语言程序设计》复习题及答案

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(\

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值