C语言程序设计模拟题2.docx
- 文档编号:15576474
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:47
- 大小:46.66KB
C语言程序设计模拟题2.docx
《C语言程序设计模拟题2.docx》由会员分享,可在线阅读,更多相关《C语言程序设计模拟题2.docx(47页珍藏版)》请在冰点文库上搜索。
C语言程序设计模拟题2
C语言第五套模拟题
一、单项选择
1先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是()。
A、C='97'B、c='a';C、c="97";D、c="a";
2已定义ch为字符型变量,以下赋值语句中错误的是()。
A、ch='\';B、ch='a';C、ch='\xaa';D、ch=62+3;
3已定义两个字符数组a,b,则以下正确的输入格式是()。
A、scanf("%s%s",&a,&b);B、scanf("%s%s",a,b);
C、get(a,b);D、gets("a"),gets("b");
4以下不正确的if语句形式是()。
A、if(x B、if(x! =y)scanf("%d",&x)elsescanf("%d",&y); C、if(x>y&&x! =y); D、if(x==y)x+=y; 5执行下面程序段后,ch的值是(). charch='a'; ch=(ch>='a'&&ch<='z')? (ch-32): ch; A、aB、AC、zD、Z 6语句while(! E);中的表达式! E等价于()。 A、E==1B、E! =0C、E! =1D、E==0 7针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是(). A、break语句可以一次性跳出多层嵌套循环 B、break语句只能跳出最内层循环 C、continue语句可以一次性跳出多层嵌套循环 D、continue语句可以跳出最内层循环 8程序main(){chars[10];s="abcd";printf("%s\n",s);}的运行结果(以下U代表空格)是(). A、输出abcdB、输出abcdUUUUUC、编译不通过D、输出a 9若chara[10];已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是()。 A、for(i=0;i<10;i++)a[i]=getchar();B、scanf("%s",a); C、gets(a);D、a=getchar(); 10C语言中函数调用的方式有()。 A、函数只可以作为语句调用。 B、函数只可以作为函数表达式调用 C、函数调用只可以作为语句或函数表达式调用。 D、函数调用可以作为语句调用,可以作为函数表达式调用,也可以作为函数参数调用。 11函数的形式参数系统默认存储类型说明是()。 A、staticB、externC、registerD、auto 12设有宏定义#defineSUB(x,y)(x)*y,且a=3,b=4,则SUB(a++,b++)的值为(). A、13B、16C、20D、12 13以下程序段执行后输出的结果是(). charstr[]="ABCD",*p=str; printf("%d\n",*(p+4)); A、字符'D'的地址B、0C、不确定的值D、68 14使用共用体变量,不可以()。 A、同时访问所有成员B、进行动态管理 C、节省存储空间D、简化程序设计 15若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写, 则文件方式字符串应是()。 A、"rb+"B、"ab++"C、"ab"D、"wb+" 二判断 1一个C程序只能由一个主函数组成。 2在C程序中,逗号运算符的优先级最低。 3C语言printf函数的格式控制串中可以设置需要的普通字符,输出时会原样输出。 4双精度型数据输入应该选用lf格式。 5若floatx=2.0,y=1.0;,则条件表达式x>y? 1: 1.5的值为1. 6逻辑表达式4>2&&1||5<3-! 0的值为1. 7逻辑表达式-5&&! 8的值为1. 8在do-while循环中,任何情况下都不能省略while. 9break语句不能终止正在进行的多层循环. 10在do-while循环中,根据情况可以省略while. 11若有语句: chara[]="string";则a[6]的值为'\0'; 12二维数组在内存中存贮时,是按行的顺序进行存储的。 13给数组赋初值时,初值的个数一定不小于所定义的元素的个数. 14当全局变量与局部变量同名时,在局部变量的作用域范围之内,全局变量起作用. 15当函数的类型与return语句后表达式的值的类型不一致时,函数返回值的类型由return语句后表达式值的类型决定. 16在C语言中,主函数可以调用其它函数,同时,其它函数也可以调用主函数. 17宏定义不是C语句,不必在行末加分号. 18若定义intarray[5],*p;则赋值语句p=&array;是正确的. 19在定义结构体变量时不允许对它赋初值. 20C语言中,在打开文件时,必须说明文件的使用方式,"w"用于文件的读写. 三填空 1已知x=3,y=2,则表达式x*=y+8的值为_____. 2C语言中的字符变量用保留字_____来说明. 3intx=2,y=3,z=4;则表达式x+y&&z的值为_____. 4表达式3&&0的值是_____. 5设i,j,k均为int型变量,则执行完下面的for循环后,k的值为_____. for(i=0,j=10;i<=j;i++,j--)k=i+j; 6若有以下数组a,数组元素: a[0]~a[9],其值为941282107513, 该数组的元素中,数值最大的元素的下标值是_____. 7执行以下程序段后,s的值是_____. inta[]={5,3,7,2,1,5,3,10},s=0,k; for(k=0;k<8;k+=2) s+=*(a+k); 8函数调用时的实参和形参之间的数据是单向的_____传递. 四程序设计 1/*功能: 将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 */ #include"string.h" #include"stdio.h" voidchange(charstr[]) { /*********Begin**********/ /**********End**********/ } main() { voidchange(); charstr[40]; voidTestFunc(); gets(str); change(str); puts(str); TestFunc(); } voidTestFunc() { FILE*IN,*OUT; chari[200]; IN=fopen("in.dat","r"); if(IN==NULL) { printf("ReadFileError"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("WriteFileError"); } fscanf(IN,"%s",i); change(i); fprintf(OUT,"%s\n",i); fclose(IN); fclose(OUT); } 2/*功能: 根据整型形参m,计算如下公式的值: y=sin(m)*10。 例如: 若m=9,则应输出: 4.121185*/ #include"stdio.h" #include"math.h" doublefun(intm) { /*********Begin**********/ /**********End**********/ } main() { intn; voidTestFunc(); printf("Entern: "); scanf("%d",&n); printf("\nTheresultis%1f\n",fun(n)); TestFunc(); } voidTestFunc() { FILE*IN,*OUT; inti; intt; doubleo; IN=fopen("in.dat","r"); if(IN==NULL) { printf("ReadFileError"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("WriteFileError"); } for(i=0;i<5;i++) { fscanf(IN,"%d",&t); o=fun(t); fprintf(OUT,"%lf\n",o); } fclose(IN); fclose(OUT); } 五程序改错 /*功能: 给一个不多于5位的正整数,要求: 一、求它是几位数, 二、逆序打印出各位数字。 */ #include"stdio.h" main() { /**********ERROR**********/ longa,b,c,d,e,x, scanf("%ld",&x); a=x/10000; /**********ERROR**********/ b=x/10000/1000; c=x%1000/100; d=x%100/10; e=x%10; /**********ERROR**********/ if(a==0) printf("thereare5,%ld%ld%ld%ld%ld\n",e,d,c,b,a); elseif(b! =0) printf("thereare4,%ld%ld%ld%ld\n",e,d,c,b); elseif(c! =0) printf("thereare3,%ld%ld%ld\n",e,d,c); elseif(d! =0) printf("thereare2,%ld%ld\n",e,d); elseif(e! =0) printf("thereare1,%ld\n",e); } 2/*功能: 读取7个整数(其值范围是1-50),每读取一个值,程序打印 出该值个数的*。 */ #include"stdio.h" main() { inti,a,n=1; /**********ERROR**********/ while(n<7) { do { scanf("%d",&a); } /**********ERROR**********/ while(a<1&&a>50); /**********ERROR**********/ for(i=0;i<=a;i++) printf("*"); printf("\n"); n++; } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 模拟