常子楠c语言答案,《C语言程序设计》期中练习(1-6章)

C语言第1-6章期中考试题

------金陵科技学院考试卷

《C 语言程序设计》前六章综合练习

姓名 学号 得分

1、以下程序段的输出结果是__________________ int a=0,b=4,k=2; k=a+1>0||(++a<0)&&(!(b--<=0)); printf(“a=%d,b=%d,k=%d”,a,b,k); 2、以下程序段的输出结果是__________________ int a=0,b=1,c=0; if(a=--b+c) printf(“yes”); else printf(“no”); 3、已知 int a=5; a+=a-=-a*a; 则 a 的值是_________________ 4、已知 int i,j; j=(i=1,i+9)>9?i++||++i:++i; 则 i=_______________,j=_______________ 5、执行“for(s=0,i=1;i<11;i++) {if(i==6) continue; s+=i; }后 s=_________________ 6、若二维数组 a 有 m 行 n 列,则在存储该数组时,a[i][j]之前有______________个数组元素。 7、执行以下程序段后,number 的值是____________ char str[ ]=”Hello!”; int number; number=sizeof(str); 8、系统库函数 scanf 和 gets 在被调用执行时都可以读取从键盘输入的一串数字字符,其中函数 ____________具有将读取的数字字符串转换为整型数的功能。 三、阅读程序写结果 1、下面程序的运行结果是_____________ main{} { int a=1,b=0; switch(a) { case 1: switch (b) { case 0: printf(“**0**”); break; case 1: printf(“**1**”); break; } case 2: printf(“**2**”); break; } } 2、下面程序的运行结果是_____________ main() { int x,y; for(x=1,y=1;x<=100;x++) { if(y>=20) break; if(y%3==1) {y+=3; continue; } y-=5; } printf(“%d\n”,x); } 3、从键盘输入 18 并回车后,下面程序的运行结果是____________ main() { int x,y,i,a[8],j,u,v; scanf(“%d”,&x); y=x;i=0; do { u=y/2; a[i]=y%2; i++; y=u;} while(y>=1); for(j=i-1;j>=0;j--) printf(“%d”,a[j]); } 第 出卷教师 常子楠 教研(实验)室主任 页 总 页

一、选择题 1、执行”int k=11;k=1/3*k++;”后,k 的值是( ) A0 B3 C4 D 12 2、以下常量中正确的是( ) A ‘abc’ B ‘\x123’ C 3.14E-1.2 D “a” 3、以下所列语句中,合法的语句是( ) A a=1,b=2 B ++a; C a=a+1=3; D y=int(a) 4、以下不致造成死循环的语句是( ) A for(y=0,x=1; x>++y; x=i++) i=x; B for(; ; x+=i); C while(x=8) x--; D for(i=10,sum=0; sum<=i) sum=--i; 5、设有定义”float y=3.45678; int x; ” 则以下表达式能实现将 y 中的数值保留小数点后 2 位,第 3 位四舍五入的表达式是( ) A y=(y*100+0.5)/100.0 B x=y*100+0.5,y=x/100.0 C y=y*100+0.5/100.0 D y=(y/100+0.5)*100.0 6、以下程序的输出结果是( ) #define PI 3.14 #define F(y) ((y)*(y)) #define P(a) printf(“%d”,a); main() {int x=PI; P(F(1+2)*x); } A 10 B 25 C 15 D 27 7、当需要定义一个函数时,以下( )不能用作函数名。 A scanf B for C _sum D F2 8、以下对 break 语句使用的正确描述是( ) A 可以出现在程序中的任何位置 B 只能出现在循环结构或 switch 结构中 C 只能出现在 switch 结构中 D 只能出现在循环结构中 9、若有声明语句”int a[10],b[3][3];”,则对以下数组

元素赋值的操作中,不会出现越界访问的是 ( ) A a[-1]=0 B a[10]=0 C b[3][0]=0 D b[0][3]=0 10、下列一维数组声明正确地是( ) A int a[ ]; B int n=10,a[n]; C int a[10+1]={1}; D int a[2]={1,2,3} 11、已知有预处理命令“#include ”和声明“char s[10]=”thank you”; int i;” ,要求输出 字符串“thank you” ,以下选项中不能达到该要求的语句是( ) A puts(s); B printf(“%s”,s[10]); C for(i=0; s[i]!=’\0’;i++) printf(“%c”,s[i]); D for(i=0; s[i]!=’\0’;i++) putchar(s[i]); 12、若有声明语句“char s1[10]={0},s2[10]=”books”;” ,则能将字符串“books”赋给数组 s1 保存 的表达式是( ) A s1=”books”; B strcpy(s2,s1); C s1=s2; D strcat(s1,s2); 二、填空题 第 页 总 页

1-34-jpg_6_0_______-235-0-0-235.jpg

1-34-jpg_6_0_______-235-0-34-235.jpg

1-960-jpg_6_0_______-687-0-68-687.jpg

1-961-jpg_6_0_______-687-0-1028-687.jpg

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值