首页 复习试卷c程序模拟试卷模拟试卷mhy

复习试卷c程序模拟试卷模拟试卷mhy

举报
开通vip

复习试卷c程序模拟试卷模拟试卷mhy《C程序设计》期末模拟试卷 一、单选题(每小题2分,共20分) 1、以下叙述正确的是( ) [A] 在C程序中,main函数必须位于程序的最前面。 [B] C程序的每一行只能写一条语句。 [C] C语言本身没有输入和输出语句。 [D] 在对一个C程序进行编译过程中,可发现注释中的错误。 2、能用作变量名字的标识符是( )。 [A] union [B] double [C] a123_cd [D] ab-1 3、break语句( )。 [A] 只能出现在if语句中 [B]...

复习试卷c程序模拟试卷模拟试卷mhy
《C程序设计》期末模拟试卷 一、单选题(每小题2分,共20分) 1、以下叙述正确的是( ) [A] 在C程序中,main函数必须位于程序的最前面。 [B] C程序的每一行只能写一条语句。 [C] C语言本身没有输入和输出语句。 [D] 在对一个C程序进行编译过程中,可发现注释中的错误。 2、能用作变量名字的标识符是( )。 [A] union [B] double [C] a123_cd [D] ab-1 3、break语句( )。 [A] 只能出现在if语句中 [B] 可用在循环体和switch语句中 [C] 只能出现在循环体中 [D] 可用在函数中的任何语句 4、执行下面的程序段后,变量k中的值为 ( )。 int k=3, s[2]; s[0]=k; k=s[1]*10; [A] 不定值 [B] 33 [C] 30 [D]10 5、设有数组定义: char array[]="China"; 则数组 array所占的空间为( ) 个字节。 [A] 4 [B] 5 [C] 6 [D] 7 6、下列程序执行后的输出结果是 ( ) #define MA(x) x*(x-1) #include void main() { int a=1; printf("%d \n",MA(1+a)); } [A] 3 [B] 2 [C]1 [D] 0 7、已知:int a,*p=&a; 则为了得到变量a的值,下列错误的表达式为________。 [A] p[0] [B] *p [C] &*a [D] *&a 8、数组名作为实参传递给形参时,数组名被处理为(  )。 [A] 该数组的长度 [B] 该数组的元素个数 [C] 该数组的首地址 [D] 该数组中各元素的值 9、执行循环语句: for(x=y=0;y!=250 && x<4;x++)y+=50;其循环体执行的次数为: [A] 5 [B]2 [C]3 [D] 4 10、设有int x,y; 以下语句判断x和y是否相等,正确的说法是该语句________。 if (x=y) printf(" x is equal to y."); [A] 语法错 [B] 能判断x和y是否相等 [C] 编译出错 [D] 不能判断x和y是否相等 二、程序填空题(阅读以下程序说明和相应程序,将空格补充完整。每小题2分,共30分) 1、 【程序说明】输出100以内(不含100)能被3整除且个位数为6的所有整数。 【运行示例】 6 36 66 96 【程序】 #include void main() { int i,j; for(i=0; (1) ;i++){ j= (2) ; if( (3) )continue; (4) ; } } 【供选择的答案】 (1) [A] i<100 [B] i<=10 [C] i<10 [D] i<=100 (2) [A] i/6 [B] i*6 [C] i%6 [D] i*10+6 (3) [A] j%6!=0 [B] j%3!=0 [C] i%3==0 [D] i%3!=0 (4) [A] printf("%d ",j) [B] printf("\n") [C] printf("%d ",i) [D] printf("%d\n",j) 2、 【程序说明】 判别并显示输入的整数是否为质数。 【运行示例】 17 17 is a prime! 【程序】 #include void main() { int n;int prime(int); (5) scanf("%d",&n); v= (6) ; if (v==1) then printf( (7) ) else printf( (8) ) } int prime(int p) { int k,i,v=1;  (9) ; for(i=2;i<=k;i++) { (10) } return v; } 【供选择的答案】 (5) [A] int prime; [B] int k; [C] int i; [D] int v; (6) [A] sqrt(n)+1 [B] i+1 [C] prime(n) [D] sqrt(n) (7) [A] "%d is a prime! \n", n [B] "%d is not a prime! \n, n" [C] "%d is a prime! \n, n" [D] "%d is not a prime! \n", n (8) [A] "%d is a prime! \n", n [B] "%d is not a prime! \n, n" [C] "%d is a prime! \n, n" [D] "%d is not a prime! \n", n (9) [A] k=sqrt(p); [B] k=sqrt(i); [C] i=sqrt(p); [D] p=sqrt(k); (10) [A] if(p%i==0) v=0; [B] if(p%i=0) v=0; [C] if(p%i==0) v==0;break; [D] if(p%i==0) v=0;break; 3、 【程序说明】以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adgda。 【运行示例】 Input: adgda yes! 【程序】 #include char *huiwen(char *str) { char *p1,*p2; int i,t=0; p1=str;p2= (10) ; for(i=0;i<= (12) ;i++) if( (13) ){t=1;break;} if( (14) ) return("yes!"); else return("no!"); } void main() { char str[50]; printf("Input:"); scanf("%s",str); printf("%s\n", (15) ); } (11) [A] str+strlen(str)-1 [B] str [C] str+strlen(str) [D] *str (12) [A] strlen(str) [B] strlen(str)/2+1 [C] strlen(str)/2 [D] strlen(str)/2-1 (13) [A] *p1==*p2 [B] p1++!=p2— [C] *p1!=*p2 [D] *p1++!=*p2-- (14) [A] t!=0 [B] t==0 [C] i>strlen(str) [D] i=strlen(str) (15) [A] *str [B] huiwen(str) [C] *huiwen(str) [D] str 三、程序阅读题(阅读下列程序,写出运行结果,每小题2分,共20分) 1、 【程序】 #include void main( ) { int x=31,y=2,s=0; do { s-=x*y; x+=2; y-=3;printf("%d %d %d\n",x,y,s);} while( x%3==0); } (1)程序运行时,输出结果的第1行是______。 [A] 31 2 -62 [B] 31 2 0 [C] 31 2 -62 [D] 33 –1 -62 (2)程序运行时,输出结果的第2行是______。 [A] 33 -1 62 [B] Press any key to continue... [C] 35 -4 -29 [D] 无结果 2、 【程序】 #include void main() { int i,j,n;char ch='A'; scanf("%d",&n); if(n<11){ for(i=1;i<=n;i++){ for(j=1;j<=n-i+1;j++){ printf("%2c",ch); ch++;} printf("\n"); } } else printf("n is too large!\n"); printf("\n"); } (3)程序运行时,输入5,第一行输出 。 [A] A A A A A [B] A B C D E [C] A B C D [D] A (4)程序运行时,输入5,第二行输出 。 [A] B C [B] A A A A [C] A B [D] F G H I (5)程序运行时,输入15,第一行输出 。 [A] n is too large! [B] A A A A A A A A A A A A A A A [C] A B C D E F G H I J K L M N O [D] A B C D E F G H I J K L M N 3、 【程序】 #include void main() {int a[3][2]={0},(*ptr)[2],i,j; for(i=0;i<2;i++){ptr=a+i; scanf("%d",ptr); ptr++;} for(i=0;i<3;i++) {for(j=0;j<2;j++) printf("%2d",a[i][j]); printf("\n"); } } (6)程序运行时输入:1 2 3<回车>,则输出结果的第一行是______。 [A] 1 3 [B] 0 0 [C] 1 2 [D] 1 0 (7)程序运行时输入:1 2 3<回车>,则输出结果的第二行是______。 [A] 0 0 [B] 2 0 [C] 3 0 [D] 2 3 (8)程序运行时输入:-1 0 9<回车>,则输出结果的第三行是______。 [A] 0 9 [B] -1 0 [C] 0 0 [D] 9 0 4、 【程序】 #include void main() { struct student {long int num; char name[20]; char sex; char addr[20]; }a={10101,"Li Lin",'M',"123 Beijing Road"}; printf("No.:%ld\nname:%s\nsex:%c\naddress:%s\n",a.num,a.name,a.sex,a.addr); } (9)程序运行时,输出结果的第一行是______。 [A] No.:10101 [B] 0 [C] 10101,Li Lin,M,123 Beijing Road [D] 10101,"Li Lin",'M',"123 Beijing Road" (10)程序运行时,输出结果的第三行是______。 [A] 空行 [B] Press Any Key to Continue… [C] sex:M [D] Null 四、编程题(每题10分,共30分) 1. 编写程序,要求从键盘上输入一个数给x,计算并输出分段函数y的值。 2. 编写程序,计算1!-2!+3!-4!+...-10!。 3. 编写程序,由键盘输入10个整数,要求统计奇数的个数cnt1和偶数的个数cnt2,并将统计结果写入文件d:\data中。 y= -x x<0 sin(x)+x 0<=x<=1 x2 x>=10 共5页—第2页
本文档为【复习试卷c程序模拟试卷模拟试卷mhy】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_927503
暂无简介~
格式:doc
大小:60KB
软件:Word
页数:0
分类:工学
上传时间:2018-09-10
浏览量:4