C语言模拟题.docx
- 文档编号:25266190
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:19
- 大小:21.65KB
C语言模拟题.docx
《C语言模拟题.docx》由会员分享,可在线阅读,更多相关《C语言模拟题.docx(19页珍藏版)》请在冰豆网上搜索。
C语言模拟题
班级:
姓名:
学号
一、填空(每空1分,共10分)
1、设x为整型变量,值为1,则表达式(x&&1)==(x%2)的值为1
2、与二进制数101等值的十进制数为5
3、若已知a=10,b=20,则表达式!
a
4、结构化程序设计所规定的三种基本控制结构是顺序结构选择结构和循环结构。
5、定义inti=1;执行语句while(i++<5);后,i的值为___6____
6、定义3行4列的整型二维数组a的语句是_inta[3][4]_____
7、int*p,a;则语句p=&a;中的运算符&是__取地址______符号。
8、设y是int型变量,请写出判断y为奇数的关系表达式y%2!
=0;(y%2==1)
二、选择(每小题2分,共30分)
1、下列优先级最低的算符是(D)
A&&B&C||D=
2、已知intj,i=1;执行语句“j=i++;”后,变量i的值是(B)
A1B2C–1D-2
3、已知inti,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量i的值是(C)
A6B12C30D36
4、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为(D)
Aa<>0B!
aCa=0Da
5、以下错误的if语句是(C)
Aif(x>y);
Bif(x==y)x+=y;
Cif(x!
=y)scanf(“%d”,&x)elsescanf(“%d”,&y);
Dif(x 6、为了判断两个字符串s1和s2是否相等,应当使用(D) Aif(s1==s2)Bif(s1=s2) Cif(strcpy(s1,s2))Dif(strcmp(s1,s2)==0) 7、若有说明intx,y;不能实现以下函数关系的程序段是(B) y=-1(x<0) y=0(x=0) y=1(x>0) Aif(x<0)y=-1;By=-1; elseif(x==0)y=0;if(x! =0) elsey=1;if(x>0)y=1; elsey=0; Cy=0;Dif(x>=0) if(x>=0)if(x>0)y=1; {if(x>0)y=1;}elsey=0; elsey=-1;elsey=-1; 8、以下错误的描述是(B) Abreak语句不能用于循环语句和switch语句外的任何其他语句 B在switch语句中使用break语句或continue语句的作用相同 C在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环 D在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环 9、若inti=10;执行下列程序后,变量i的正确结果是(D) switch(i) {case0: i+=1; case10: i+=1; case11: i+=1; default: i+=1; } A10B11C12D13 10、下列程序是求1到100的累加和,其中有1个不能够完成规定的功能,是(B) As=0;i=0;Bs=0;i=1; while(i<=100)while(i++<100) s+=i++;s+=i; Cs=0;i=0;Ds=0;i=0; while(i<100)while(++i<=100) s+=++i;s+=i; 11、选择程序输出结果(D) f(intb[],intm,intn) {inti,s=0; for(i=m;i s+=b[i]; returns; } main() {intx,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf("%d\n",x); } A30B15C18D22 12、C语言中函数返回值的类型由(D)决定的。 Areturn语句中的表达式类型B调用该函数的主调函数的类型 C调用函数时临时决定D定义函数时所指定的函数类型 13、选择下列程序的运行结果(A) fun(int*p) {inta=10; p=&a; ++*p; } main() {inta=5; fun(&a); printf(“%d\n”,a); } A5B6C10D11 14、执行后y的值是(A) main() {inta[]={1,2,3,4},y,*p=a; y=*p++; } A1B2C3D4 15、下列程序的输出结果是(B) structabc {inta,b,c;}; main() {structabcs[2]={{1,2,3},{4,5,6}}; intt; t=s[0].a+s[1].b%s[0].c; printf("%d\n",t); } A2B3C4D7 三、程序填空(每空2分,共20分) 1、下面的程序输出3到100间的所有素数。 main() { inti,j; for(i=3;i<=100;i++) {for(j=2;j<=i-1;j++) if(①i%j==0)break; if(②i==j) printf(“%4d”,i); } } 2、函数primedec(m)是求整数m的所有素数因子,并输出。 如: m为120时。 输出的素数因子为: 2,2,2,3,5 程序如下: primedec(intm) {intk=2; while(k<=m) if(m%k①==0) {printf(“%d,”,k); ②m=m/k;} else ③k++;} 3、用起泡法对10个整数排序(由小到大) 起泡法的思路: 将相邻的两个数比较,将小的调到前头。 main() {inta[11],i,j,t; printf(“input10numbers: \n”); for(i=1;i<11;i++) ①scanf(“%d”,&a[i]) printf(“\n”); for(j=1;j<=9;j++) for(i=1;i<=10-j②;i++) if(③a[i]>a[i+1]) {t=a[i]; ④a[i]=a[i+1] ⑤a[i+1]=t } printf(“thesortednumbers: \n”); for(i=1;i<11;i++) printf(“%d”,a[i]); } 四、读程序题(15分) 1、读程序写结果(3分)yes main() {charc=’A’; if(‘0’<=c<=’9’) printf(“yes”); else printf(“no”); } 2、以下程序在运行是时,输入变量a的值为1,变量b的值为2,写出程序的运行结果(3分)223 main() {inta,b,t=0; scanf(“%d%d”,&a,&b); if(a=2) {t=a;a=b;b=t;} printf(“%d,%d\n”,a,b); } 、写出程序的执行结果(3分)1011 main() {inti=0,j=0; while(i<10) i++; while(j++<10); printf(“i=%d,j=%d\n”,i,j); } 4、写出程序的执行结果(3分)5 main() {inti,j,k; charspace=’’; for(i=0;i<=5;i++) {for(j=1;j<=i;j++) printf(“%c”,space); for(k=0;k<=5;k++) printf(“%c”,’﹡’); printf(“\n”); } } 5、写出程序的执行结果(3分) main() {inti; for(i=0;i<3;i++) add(); } add() {staticintx=0; x++; printf(“%d,”,x); } 1,2,3 五、编程序(25分) 1、打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。 例如: 153是一个“水仙花数”,因为153=13+33+53。 (12分) #include #include main() { intd,g,s,b; printf("水仙花数: \n"); for(d=100;d<=999;d++) { b=d/100; s=(d-b*100)/10; g=d-b*100-s*10; if(d==g*g*g+s*s*s+b*b*b) printf("%d",d); } } 2、读入m×n(可认为10×10)个实数放到m行n列的二维数组中,求该二维数组各行平均值,分别放到一个一维数组中,并打印一维数组。 (13分) C语言试题(A卷) 班级: 姓名: 学号 一、填空(每空1分,共10分) 1、设x为整型变量,值为1,则表达式(x&&1)==(x%2)的值为1 2、与二进制数101等值的十进制数为5 3、若已知a=10,b=20,则表达式! a 4、结构化程序设计所规定的三种基本控制结构是结构结构和结构。 5、定义inti=1;执行语句while(i++<5);后,i的值为__6____ 6、定义3行4列的整型二维数组a的语句是___INTA[3][4]________ 7、int*p,a;则语句p=&a;中的运算符&是________符号。 8、设y是int型变量,请写出判断y为奇数的关系表达式 二、选择(每小题2分,共30分) 1、下列优先级最低的算符是(D) A&&B&C||D= 2、已知intj,i=1;执行语句“j=i++;”后,变量i的值是(B) A1B2C–1D-2 3、已知inti,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量i的值是(C) A6B12C30D36 4、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为(A) Aa<>0B! aCa=0Da 5、以下错误的if语句是(C) Aif(x>y); Bif(x==y)x+=y; Cif(x! =y)scanf(“%d”,&x)elsescanf(“%d”,&y); Dif(x 6、为了判断两个字符串s1和s2是否相等,应当使用(D) Aif(s1==s2)Bif(s1=s2) Cif(strcpy(s1,s2))Dif(strcmp(s1,s2)==0) 7、若有说明intx,y;不能实现以下函数关系的程序段是(B) y=-1(x<0) y=0(x=0) y=1(x>0) Aif(x<0)y=-1;By=-1; elseif(x==0)y=0;if(x! =0) elsey=1;if(x>0)y=1; elsey=0; Cy=0;Dif(x>=0) if(x>=0)if(x>0)y=1; {if(x>0)y=1;}elsey=0; elsey=-1;elsey=-1; 8、以下错误的描述是(B) Abreak语句不能用于循环语句和switch语句外的任何其他语句 B在switch语句中使用break语句或continue语句的作用相同 C在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环 D在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环 9、若inti=10;执行下列程序后,变量i的正确结果是(D) switch(i) {case0: i+=1; case10: i+=1; case11: i+=1; default: i+=1; } A10B11C12D13 10、下列程序是求1到100的累加和,其中有1个不能够完成规定的功能,是(B) As=0;i=0;Bs=0;i=1; while(i<=100)while(i++<100) s+=i++;s+=i; Cs=0;i=0;Ds=0;i=0; while(i<100)while(++i<=100) s+=++i;s+=i; 11、选择程序输出结果(D) f(intb[],intm,intn) {inti,s=0; for(i=m;i s+=b[i]; returns; } main() {intx,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf("%d\n",x); } A30B15C18D22 12、C语言中函数返回值的类型由(D)决定的。 Areturn语句中的表达式类型B调用该函数的主调函数的类型 C调用函数时临时决定D定义函数时所指定的函数类型 13、选择下列程序的运行结果(A) fun(int*p) {inta=10; p=&a; ++*p; } main() {inta=5; fun(&a); printf(“%d\n”,a); } A5B6C10D11 14、执行后y的值是(A) main() {inta[]={1,2,3,4},y,*p=a; y=*p++; } A1B2C3D4 15、下列程序的输出结果是(b) structabc {inta,b,c;}; main() {structabcs[2]={{1,2,3},{4,5,6}}; intt; t=s[0].a+s[1].b%s[0].c; printf("%d\n",t); } A2B3C4D7 三、程序填空(每空2分,共20分) 1、下面的程序输出3到100间的所有素数。 main() { inti,j; for(i=3;i<=100;i++) {for(j=2;j<=i-1;j++) if(i%j==0①)break; if(②i==j) printf(“%4d”,i); } } 2、函数primedec(m)是求整数m的所有素数因子,并输出。 如: m为120时。 输出的素数因子为: 2,2,2,3,5 程序如下: primedec(intm) {intk=2; while(k<=m) if(m%k①) {printf(“%d,”,k); ② } else ③ } 3、用起泡法对10个整数排序(由小到大) 起泡法的思路: 将相邻的两个数比较,将小的调到前头。 main() {inta[11],i,j,t; printf(“input10numbers: \n”); for(i=1;i<11;i++) ①scanf(“%d”,&a[i]) printf(“\n”); for(j=1;j<=9;j++) for(i=1;②i<=j-1;i++) if(③a[i]>a[i+i]) {t=a[i]; ④a[i]=a[i+i]; ⑤a[i+i]=t; } printf(“thesortednumbers: \n”); for(i=1;i<11;i++) printf(“%d”,a[i]); } 四、读程序题(15分) 1、读程序写结果(3分)yes main() {charc=’A’; if(‘0’<=c<=’9’) printf(“yes”); else printf(“no”); } 2、以下程序在运行是时,输入变量a的值为1,变量b的值为2,写出程序的运行结果(3分)223 main() {inta,b,t=0; scanf(“%d%d”,&a,&b); if(a=2) {t=a;a=b;b=t;} printf(“%d,%d\n”,a,b); } 3、写出程序的执行结果(3分)1011 main() {inti=0,j=0; while(i<10) i++; while(j++<10); printf(“i=%d,j=%d\n”,i,j); } 4、写出程序的执行结果(3分)5 main() {inti,j,k; charspace=’’; for(i=0;i<=5;i++) {for(j=1;j<=i;j++) printf(“%c”,space); for(k=0;k<=5;k++) printf(“%c”,’﹡’); printf(“\n”); } } 5、写出程序的执行结果(3分)1,2,3 main() {inti; for(i=0;i<3;i++) add(); } add() {staticintx=0; x++; printf(“%d,”,x); } 五、编程序(25分) 1、打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。 例如: 153是一个“水仙花数”,因为153=13+33+53。 (12分) #include #include main() { intd,g,s,b; printf("水仙花数: \n"); for(d=100;d<=999;d++) { b=d/100; s=(d-b*100)/10; g=d-b*100-s*10; if(d==g*g*g+s*s*s+b*b*b) printf("%d",d); } } 2、读入m×n(可认为10×10)个实数放到m行n列的二维数组中,求该二维数组各行平均值,分别放到一个一维数组中,并打印一维数组。 (13分)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟