《C语言程序设计》模拟试卷四
《C语言程序设计》试卷4
《C语言程序设计》试卷四一、单项选择题(每小题1分,共35分)1、一个C程序的执行是从()。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2、下面四个选项中,合法的用户标识符是()A)P_#$ B)2ha C)goto D)_ab3、要把整数67523赋与整型变量I,则应说明I的类型是()A)int B)long C)short D)unsigned4、已知int I; float f; 正确的表达式是()A) (int f)%I B) int(f)%I C) int (f%I) D) (int)f%I5、判断char型变量c1是否为小写字母的正确表达式是()A)'a'<=c1<='z'B)(c1>=a) && (c1<=z)C)98<=c1&&123>=c1 D)c1>='a'&& c1<='z'6、在C语言中,字符型数据在内存中以何种形式存放?()A)原码 B)BCD码 C)ASCII码D)补码7、执行以下语句后b的值为()。
int a = 5 , b = 6 , w = 1 , x =2 , y = 3 , z = 4 ;( a = w > x ) && ( b = y > z ) ;A)6 B)0 C)1 D)48、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是()。
A)int a=b=c=5; B)int a,b,c=5; C)int a=5,b=5,c=5; D)a=b=c=5;9、已知:char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是()A) int B) char C) float D) double10、已知字母A的ASCII码为65,以下程序段的输出结果是()char c1=‟A‟,c2=‟Y‟;printf(″%d,%d″,c1,c2);A)65,90 B)A,Y C)65,89 D)输出格式不合法11、阅读以下程序,当输入数据的形式为:25,13,10<CR>,正确的输出结果为()。
C语言程序设计模拟题
《C语言程序设计》模拟题(补)一、简答题1、简述C语言程序的结构。
二、选择题1、下面程序段的输出结果是【1】。
int a=60;a+=a-=a+a;printf(“%d\n”,a);A) 120 B) 60C) -120 D) -602、下面正确的字符常量是【2】。
A) ‘c’B) ‘//’’C) “w”D) ‘’3、以下不能用作标识符的是【3】。
A) _26 B) ScanfC) case D) Double4、下面程序段中循环体执行的次数是【4】。
int a=10, b=0;do {b+=2; a-=2+b; } while(a>=0);A) 1B) 2C) 3D) 45、以下关于函数的叙述正确的是【5】。
A) 函数中必须要有return语句B) 函数中可以有多个return语句,但只有一个被执行C) return语句中必须有一个表达式D) 函数中定义的变量不能与其它函数中的变量同名6、满足x为奇数时值为真,x为偶数时值为假的表达式是【6】。
A) !(x%2==1) B) x%2==0C) x%2 D) !(x%2)7、以下语句中无法正确赋值的是【7】。
A) char b[10]={‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘!’};B) char b[10]; b=“Hello!”;C) char b[10]; strcpy(b, “Hello!”);D) char b[10]= “Hello!”;8、若有以下的定义和语句,则值为5的表达式是【8】。
int a[]={1,2,3,4,5,6,7,8,9,10};A) a[5] B) a[a[4]]C) a[a[3]] D) a[a[5]]9、若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是【9】。
A) 2.B) 2.C) 3.D) 0.10、已知ch是字符型变量,下面正确的赋值语句是【10】。
C语言模拟试卷
滨州学院2013-2013学年第一学期期末考试通信工程专业(本)2012级《C语言程序设计》模拟试卷(答案一律写在答题纸上,在本试卷上做答无效)一、选择题(每题2分,共30分)1. C语言中运算对象必需是整型的运算符是。
A、%B、/C、!D、**2. 以下叙述中正确的是。
A、a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值。
B、在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式。
C、执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。
D、已有a=3,b=5。
当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3。
3. 不合法的八进制数是。
A、0B、028C、077D、014. 若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是。
A、a=b=c=100;B、d++;C、c+b;D、d=(c=22)-(b++);5. 以下程序的输出结果是。
A、a=%2,b=%5B、a=2,b=5C、a=%%d,b=%%dD、a=%d,b=%dmain( ){ int a=2,b=5;printf("a=%%d,b=%%d\n",a,b);}6. 下列运算符中优先级最高的运算符是。
A、!B、%C、-=D、&&7. 以下程序段的输出结果是。
A、9B、1C、11D、10int k,j,s;for(k=2; k<6; k++,k++){ s=1;for(j=k; j<6; j++) s+=j;}printf("%d\n", s);8. 以下程序的输出结果是。
A、*#*#*#$B、#*#*#*$C、*#*#$D、#*#*$main(){ int i;for(i=1; i<=5; i++){ if(i%2) printf("*");else contionue;printf("#");}printf("$\n");}9. 以下叙述正确的是。
长安大学网络教育《C语言程序设计》模拟试卷及参考答案
一、填空题(本题每空1分,共计15分)1.设int a = 2,b = 3;float x = 3.5,y =2.5;表达式(float)(a+b)/2+(int)x%(int)y的值为3.5 。
2.结构化程序设计的三种基本结构是顺序结构,选择结构,循环结构。
3.设a = 3 , b = 2 , c = 1 , 则!(a+b)+c-6&&c+b%2的值为 1 。
4.int a = 6 ; 若a *= 2+3,则a = 30 ;又若a /= a+a,则a = 0 ;又若a+=a-= a*=a,则a = 0 ;5.int a = 2 ,b ,c ; b = ++a ; c = (a++)+(b++) ; 则c = 6 ,a = 4 ,b = 46、判断char型变量ch是否为大写字母的正确表达式是:ch>=’A’&&ch<=’z’7、若a=1;b= 2;c=2; if(a<b<c) {t= a;a=b; b=t; c--;}则a= 2 ,b= 1 ,c= 1 ,二、选择题(本题有15个小题,每小题2分,共计30分,每题只有一个正确答案)1、C程序的执行是从(A)A)本程序的main函数开始,到main函数结束B)本程序文件的第-个函数开始,到本程序文件的最后-个函数结束C)本程序的main函数开始,到本程序文件的最后-个函数结束D)本程序文件的第-个函数开始,到本程序main函数结束2、若有说明:char *language[]={"FORTRAN","BASIC","PASCAL", "JA V A","C"};则以下不正确的叙述是(D)。
A)language+2表示字符串"PASCAL"的首地址B)*language[2」的值是字母PC)language是一个字符型指针数组,它包含5个元素,D)每个元素都是一个指向字符串变量的指针3、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为(B):A)7 B)8 C)6 D)24、下面四个选项中,均是不合法的用户标识符的选项是(C)A) A P_0 doB)float a0 _AC)b-a goto intD)-123 temp INT5、sizeof(float)是(B):A)一个双精度型表达式B) 一个整型表达式C) 一种函数调用D) 一个不合法的表达式6、设有说明:char w; int x; f1oat y; double z;则表达式w* x+z-y值的数据类型为(D):A)float B)char C)int D)double7、阅读下程序,若运行结果为如下形式,输入输出语句的正确内容是(B): main(){int x; float y; printf("enter x,y:")输入语句输出语句}输入形式enter x,y: 2 3.4输出形式x+y=5.40A)scanf("%d,%f",&x,&y);printf("\nx+y= %4.2f",x+y);B)scanf("%d%f",&x,&y );printf("\nx+y=%4.2f",x+y);C)scanf("%d%f",&x,&y); printf("\nx+y=%6.lf",x+y);D)scanf("%d%3.1f",&x,&y );printf("\nx+y=%4.2f",x+y);8、根据下面的走义,能打印出字母M的语句是(D)struct person{char name[9];int age;}struct person class[10]={"John",17,"Paul",19,"Mary",18,"adam",16 };A)printf("%c\n",class[3].name);B)printf("%c\n",class[3].name[1]);C)printf("%c\n",class[2].name[1]);D)printf("%c\n",class[2].name[0]);9、若有以下定义和语句:struct student{int age;int num;};struct student stu[3]={{1001,20},{1002,19},{1003,21}};main(){struct student *p;p=stu;...}则以下不正确的引用是(D)。
C语言 程序设计基础试题四及答案
《程序设计基础》考试试卷四班级姓名学号一、选择题(每题1分,共20分)题号一二三四五总得分评卷人审核人得分1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.判断下面标识符中哪个是C语言中合法的用户定义标识符()A. 2a1bB. a%bdC. _123D. char3.设有以下定义int a=0; double b=1.25; char c=’A’; #define M 2则下面语句中错误的是( )A. a--;B. b--;C. c--;D. M--;4.有两条语句:static char x[]=”abcde”;static char y[]={‘a’,’b’,’c’,’d’,’e’};则下列说法中正确的是( )A. 数组x和数组y长度相同B.数组x长度大于数组y长度C. 数组x长度小于数组y长度D. 以上三种说法均错误;5.设整型变量a=13,则经运算a+= a/=a%=5后,a的值为()A. 17.333B. 17C. 0D. 26. 已知:int n,i=1,j=2;执行语句n=i<j?i++:++j;后,i和j的值是( ).A. 1,2B. 1,3C. 2,2D. 2,37.有函数定义如下:当自变量x<0时y=-1;当x=0时y=0;当x>0时y=1;以下程序片段能实现该函数功能的是( ):A. if(x>=0)B. y=-1;C. if(x>=0)D. y=0;if(x>0) y=1; if(x!=0) if(x>0) y=1; if(x>=0) else y=-1; if(x>0) y=1 ; else y=0; if(x>0) y=1;else y= 0; else y=0; else y= -1; else y=-1;8.当a=2,b=1,c=3,d=4,m和n值为1时,(m=a>b)||(n=c>d)的值是( )A. TRUEB. FALSEC. 1D.09.在C语言程序中,以下说法正确的是( )A. main函数内部可嵌套定义子函数B. main函数必须出现在所有函数之前C. main函数必须出现在所有函数之后D. main函数是程序执行的入口10.关于局部变量和全局变量说法正确的是():A. 在main函数中定义的变量都为全局变量B. 当全局变量与局部变量同名时,全局变量起作用C. 当全局变量与局部变量同名时,局部变量起作用D. 以上说法都不正确11.下列关于switch和break语句的讨论中,只有()是正确的。
全国计算机等级考试二级-基础知识和C语言程序设计 模拟考试试卷及答案(四)
全国计算机等级考试二级-基础知识和C语言程序设计模拟考试试卷及答案(四)一、选择题(1)通常所说的主机主要包括A)CPU B)CPU和内存C)CPU、内存与外存 D)CPU、内存与硬盘(2)在微机系统中,最基本的输入输出模块BIOS存放在A)RAM中 B)ROM中 C)硬盘中 D)寄存器中(3)一个24*24点阵的汉字字形信息所占的字节数为A)2 B)24 C)32 D)72(4)bit的意思是A)字 B)字长 C)字节 D)二进制位(5)某学校的工资管理程序属于A)系统程序 B)应用程序C)工具软件 D)文字处理软件(6)与十六进制数BB等值的十进制数是A)187 B)188 C)185 D)186(7) 设一张软盘已染上病毒,能清除病毒的措施是A)删除该软盘上的所有文件 B)格式化该软盘C)删除该软盘上的所有可执行文件 C)删除该软盘上的所有批处理文件(8)一张3.5英寸双面高密度软盘片的容量为A)360KB B)720KB C)1.44MB D)1.2MB(9)与二进制小数0.1等值的十六进制小数为A)0.1 B)0.2 C)0.4 D)0.8(10)DOS系统的热启动与冷启动的不同之处为热启动时A)不检测键盘、处设接口与内存 B)不提示用户输入日期与时间C)不用装入文件 D)不能从软盘启动(11)为了将磁盘上的文件K1,K2,K3,依次连接在文件K4的后面,应使用命令A)COPY K1+K2+K3 K4 B)COPY K1+K2+K3+K4C)COPY K1+K2+K3+K4 K4 D)COPY K4+K1+K2+K3(12)下列文件名中可以作为批处理文件名的是A)AUTOEXC.C B)AUTOEXECC)ATX.BAT D)AUTO.TXT(13)要打印输出当前盘的根目录下所有文件与子目录清单,应使用命令A)DIR \ PRN B)TYPE \ PRNC)DIR PRN C)TYPE PRN(14)设可执行文件 ABC.EXE 所需要的本该由键盘输入的数据已经按格式存放在文件XYZ 中,并要求执行结果放在文件 XYZ 中输入数据的后面. 下列命令中正确的是A) ABC XYZ B) ABC XYZC) ABC <XYZ(15)设当前盘中某一目录路径为 \A\B\C,当前目录为\A.下列命令中肯定出错的是A)MD \A\C B) CD C) MD \A\B\A D) MD \A\B(16)设 A 盘的目录结构如下:根目录│┌─────┬┴──┬───┬───┬────┐│ │ │ │ │ │ABC D1子目录 DX.C Q.DAT D2子目录A.FOR│ │┌────┬─┴──┬───┐┌───┬───┐│ │ │ │ │ │ │B.PAS D3子目录 Y.BAS A.C A1.C D4子目录XYZ.C│┌────┬────┬────┐│ │ │ │QR.C NA.C A.TXT B.C如果当前盘为 C 盘,A 盘的当前目录为\D2,则下列对 A 盘上文件QR.C 的指定中,合法的是A)\D2\D4\QR.C B)D4\QR.CC)A:D4\QR.C D)A:D2\D4\QR.C(17)下列DOS命令中,有错误的是A)TYPE AAB.FORCON B)TYPE ?AB.FORC)COPY *.C CON D)COPY CON PRN(18)设当前盘为A盘,为了将当前盘当前目录下的文件AB1.TXT连接在C 盘根目录下的文件XYZ.TXT的后面,正确的命令是A)COPY C:\XYZ.TXT+AB1.TXTB)COPY AB1.TXTC:\XYZ.TXTC)TYPE AB1.TXTC:\XYZ.TXTD)AB1.TXT+C:\XYZ.TXTC:\XYZ.TXT(19)下列命令中合法的是A)DISKCOPY A: A: B)DISKCOPY A: C:C)DISKCOPY C: A: D)DISKCOPY C: D:(20)设当前盘中某一目录路径为\A\B\C\D\XU,当前目录为\A.要将根目录下扩展名为.C的所有文件复制到当前目录下,并将扩展名改为.FOR,应使用命令A)COPY \*.C *.FOR B)COPY *.C \A\*.FORC)COPY *.FOR \*.C D)COPY \A\*.C *.FOR(21)下列不正确的转义字符是A)'\\' B)'\" C)'074' D)'\0'(22)若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为A) float B) int C) char D) double(23)表示关系x<=y<=z的c语言表达式为A) (X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z)C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z)(24)设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为A) 4 B) 3 C) 2 D) 1(25)设x为int型变量,则执行以下语句后,x的值为x=10; x+=x-=x-x;A) 10 B) 20 C) 40 D) 30(26)下列可作为C语言赋值语句的是A) x=3,y=5 B) a=b=6C) i--; D) y=int(x);(27)设x,y,z,t均为int型变量,则执行以下语句后,t的值为x=y=z=1;t=++x||++y&&++z;A) 不定值 B) 2 C) 1 D) 0(28)设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为A) 100765.12 B) i=100,f=765.12C) 100765.12 D) x=100y=765.12(29)设x和y均为int型变量,则执行下的循环后,y值为for(y=1,x=1;y<=50;y++){ if(x=10))break;if (x%2==1){ x+=5; continue;}x-=3;}A) 2 B) 4 C) 6 D) 8(30)给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为A) 数组X和数组Y等价 B) 数组x和数组Y的长度相同C) 数组X的长度大于数组Y的长度 D) 数组X的长度小于数组Y的长度(31)以下叙述中不正确的是A) 在不同的函数中可以使用相同名字的变量B) 函数中的形式参数是局部变量C) 在一个函数内定义的变量只在本函数范围内有效D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(32)假定a和b为int型变量,则执行以下语句后b的值为a=1; b=10;do{ b-=a; a++; }while (b--<0);A) 9 B) -2 C) -1 D) 8(33)设j为int型变量,则下面for循环语句的执行结果是for( j=10;j3;j--){ if(j%3)j--;--j; --j;printf("%d ",j);}A) 6 3 B) 7 4 C) 6 2 D) 7 3(34)设有以下宏定义:#define N 3#define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1));后,z的值为A) 出错 B) 42 C) 48 D)54(35)设P1和P2是指向同一个int型一维数组的指针变量,k为int 型变量,则不能正确执行的语句是A)k=*P1+*P2; B)p2=k;C)P1=P2; D)K=*P1 * (*P2);(36)设有如下定义:int arr[]={6,7,8,9,10};int * ptr;则下列程序段的输出结果为ptr=arr;* (ptr+2)+=2;printf ("%d,%d\n",*ptr,*(ptr+2));A)8,10 B)6,8 C)7,9 D)6,10(37)以下程序的输出结果是main(){ int i,k,a[10],p[3]:K=5;for (i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for (i=0;i<3;i++) k+=p[i]*2;printf("%d\n",k);}A) 20 B) 21 C) 22 D)23(38)执行以下程序段后,m的值为int a[2][3]={ {1,2,3},{4,5,6} };int m,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));A) 15 B) 14 C) 13 D) 12(39)有以下程序段char arr[]="ABCDE";char *ptr;for(ptr=arr;ptr<arr+5;ptr++)printf("%s\n",ptr);输出结果是A) ABCD B) A C) E D)ABCDEB D BCDEC C CDED B DEE A E(40)有以下程序main(){ int x,i;for(i=1;i<=50;i++){ x=i;if(++x%2==0)if(x%3==0)if(x%7==0)printf("%d,i);}}输出结果是A) 28 B) 27 C) 42 D) 41(41)有下列程序#include<stdio.hmain(){ union{ int k;char i[2];} *s,a;s=&a;s-i[0]=0x39; s-i[1]=0x38;printf("%x\n",s-k);}输出结果是A) 3839 B) 3938 C) 380039 D) 390038(42)有以下程序#include <stdio.hmain(){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是A) 2,1 B) 3,2 C) 4,3 D) 2,-1(43)设有如下定义:int (*ptr)*();则以下叙述中正确的是A) ptr是指向一维组数的指针变量B) ptr是指向int型数据的指针变量C) ptr是指向函数的指针,该函数返回一个int型数据D) ptr是一个函数名,该函数的返回值是指向int型数据的指针(44)有以下程序#include <stdio.hstruct stu{ int num;char name[10];int age;};void fun(struct stu *p){ printf("%s\n",(*p).name); }main(){struct stu students[3]={ {9801,"Zhang",20},{9802,"Wang",19},{9803,"Zhao",18} };fun(students+2);}输出结果是A) Zhang B)Zhao C) Wang D) 18(45)设有以下说明和定义:typedef union{ long i; int k[5]; char c; }DATE; struct date{ int cat; DATE cow; double dog; } too;DATE max;则下列语句的执行结果是printf ("%d",sizeof (struct date ) +sizeof(max));A) 26 B) 30 C) 18 D) 8(46)有以下程序main(){ char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0;i<7;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i));}输出结果是A) gm B) rg C) or D) ga(47)有以下程序viod fun (int a,int b,int c){ a=456; b=567; c=678;}main(){ int x=10, y=20,z=30;fun (x,y,z);printf("%d,/%d\n",c,d);}输出结果是A)30,20,10 B)10,20,30C)456,567,678 D)678,567,456(48)有以下程序int fun(int x,int y,int *cp,int *dp){ *cp=x+y; *dp=x-y; }main(){ int a, b, c, d;a=30; b=50;fun(a,b,&c,&d);printf("%d,%d\n", c, d);}输出结果是A)50,30 B)30,J50 C)80,-20 D)80,20(49)有以下程序main(){ int i, j;for(j=10;j<11;j++){ for(i=9;i<j; i++)if (!(j%i))break;if(i=j-1)printf("%d",j);}}输出结果是A) 11 B) 10 C) 9 D) 10 11(50)有以下程序#include "atdio.h"int abc(int u,intv);main (){ int a=24,b=16,c;c=abc(a,b);printf('%d\n",c);}int abc(int u,int v){ int w;while(v){ w=u%v; u=v; v=w }return u;}输出结果是A) 6 B) 7 C) 8 D) 9二、填空题(1)自动批自理文件名为_______.(2)DOS命令分为内部命令与外部命令,COMP命令属于_______命令.(3)设当前为C盘,现要用一条DOS命令在打印机上输出A盘当前目录下所有扩展名为.DAT的文件内容.这一条DOS命令应为__ _ (4)要将当前盘当前目录下的子目录XYZ中所有扩展名为.BAK 的文件名改成扩展名为.FOR,应使用的DOS命令为__ _(5)设DOS外部命令文件所在的路径均已用PATH命令打通.现要将当前盘当前目录下的文件WST.TXT设置为只读属性,应使用的DOS命令为___(6)设x和y均为int型变量,且x=1,y=2,则以下表达式的值为___ 1.0+x/y(7)设i,j,k均为int型变量,则执行完下面的for循环后,k的值为___for(i=0,j=10;i<=j;i++,j--) k=i+j;(8)设有以下定义的语句:int a[3][2]={10,20,30,40,50,60}, (*p)[2];p=a;则 *(*(p+2)+1)值为___(9)以下程序的输出结果是___#include <stdio.hint fun(int x,int y){ static int m=0,i=2;i+=m+1;m=i+x+y;return m}main(){ int j=4,m=1,k;k=fun(j,m); printf("%d,",k);k=fun(j,m); printf("%d\n",k);}(10)函数fun的功能是:使一个字符串按逆序存放,请填空void fun (char str[]){ char m; int i,j;for(i=0,j=strlen(str);i<____;i++,j--){ m=str[i];str[i]=__ _;str[j-1]=m;}printf("%s\n",str);}(11)以下程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串,请填空.#include"ctype.h"#include"stdio.h"main(){ char str[81],*sptr;int i;for(i=0;i<80;i++){ str[i]=getchar();if(str[i]=='\n') break;}str[i]=____;sptr=str;while(*sptr) putchar(*sptr____(13));}(12)以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差.例如:输入的两个字符串分别为abcdef和abceef,则输出为-1.请填空.#includemain(){ char str[100],str2[100],c;int i,s;printf("\n input string 1:\n"); gest(str1);printf("\n input string 2:\n"); gest(str2);i=0;while((strl[i]==str2[i]&&(str1[i]!=____))i++;s=____;printf("%d\n",s);}(13)以下程序的功能是:从键盘上输入一个字符串, 把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来.请填空.#include<stdio.hmain(){ FILE *fp;char str[100]; int i=0;if((fp=fopen("text.txt",__ __))==NULL){ printf("can't open this file.\n");exit(0);}printf("input astring:\n"); gest(str);while (str[i]){ if(str[i]='a'&&str[i]<='z')str[i]=___ _;fputc(str[i],fp);i++;}fclose(fp);fp=fopen("test.txt",____);fgets(str,100,fp);printf("%s\n",str);fclose(fp);}(14) 以下程序可以把从键盘上输入的十进制数(long型)以二到十六进制形式输出,请填空.#include.<stdio.hmain(){charb[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};int c[64],d,i=0,base;long n;printf("enter a number:\n"); scanf("%ld",&n);printf("enter new base:\n"); scanf("%d",&base);do{ c[i]=____;i++; n=n/base;} while(n!=0);printf("transmite new base:\n");for(--i;i=0;--i){ d=c[i];printf("%c",b____;}}_答案一、选择题(1)B (2)B (3)D (4)D (5)B(6)A (7)B (8)C (9)D (10)A(11)D (12)C (13)A (14)B (15)D(16)C (17)B (18)A (19)A (20)A(21)C (22)D (23)A (24)D (25)B(26)C (27)C (28)B (29)C (30)C(31)D (32)D (33)B (34)C (35)B(36)D (37)B (38)A (39)D (40)D(41)A (42)A (43)C (44)B (45)B(46)D (47)A (48)C (49)B (50)C二、填空题(1)AUTOEXEC.BAT(2)外部(答外部命令不扣分)(3)COPY A:*.DAT PRN(在 COPY 后面与A:*.DAT后面都至少要有一个空格)(4)RENXYZ\*.BAK *.FOR 或RENAME XYZ\*.BAK*.FOR(在REN 或RENAME 后面与XYZ\*.BAK 后面都至少要有一个空格) (5)ATTRIB+R WST.TXT(在ATTRIB 后面与+R后面都至少有一个空格)或ATTRIBWST.TXT+R(在ATTRIB后面与WST.TXT后面都至少要有一个空格)(6)1.0或1(7)10(8)60(9)8,17(10)strlen(str )/2或strlen(str)/2.0或0.5*strlen(str)或j或j-1str[j-1]或*(str+j-1)(11)'\0' 或0++(12) '\0'或0strl[i]-str2[i](13) "w"或"w+"或"wt"或"w+t"或"""wt+"str[i]-32 或str[i]-('a'-'A'或str[i]-'a'+'A'"r"或"r+"或"r+t"或"rt+"(14)n%base[d]。
《C语言程序设计》期末笔试模拟试卷及参考答案
《C语言程序设计》期末笔模拟试卷(本试卷满分60分)院系学号姓名1. 答案均写在答题纸上,写在卷面上无效;2. 答题结束后将试卷及答题纸全部交给监考教师;一、单选题 (1分×16,共16分)1. 下面 (1) 是正确的局部数组声明CA. char a[][5]={“math”,“phy”,“chemi” };B. int b[3][3]={{1,2,3},4,5,6,7,{8,9}};C. float c[sizeof(sin(1))]={1,‘\n’};D. char ch[ ][10]={“Beijing”,“Nanjing”},*p[ ]={ ch[0],ch[1] };2. 如下哪个程序语法、语义都正确,且能获得正确的运行结果(2) A3. 若有声明:enum d{ e,s,w,n}c=s;则表达式“ops”+ c值的类型是 (3) 。
B A. enum d B. char * C. int D. int *4. 下列叙述中除 (4) 之外都是正确的。
BA.引用函数说明中指定的形参名,不必与函数定义中对应的形参名相同。
B.不能用extern定义一个外部变量、数组。
C. 无论在函数外还是在函数内说明引用本程序中定义的函数,都可不写extern关键字。
D.用extern说明引用一个外部数组时,可以不给出数组大小。
5. 下列能正确执行的程序是: (5) A6. 对于二维数组定义: int a[i][j]; (i、j均为常量),且有:0≤m<i,0≤n<j , 则下列除 (6) 外,都是不等价的。
BA. a+m 与 a[0]+mB. a+m 与 *(a+m)C. *(a+m) 与 *a[m]D. *a 与 *a[0]7. 若程序中有声明:“float a,b[3][4];”与引用函数的说明:“int fun(floatk[][3]),int n);”则下列 (7) 都是常量或常量表达式。
C语言程序设计 模拟试卷
C语言程序设计课程模拟试卷一、单项选择题.把合适的选项编号填写在括号内.(每小题3分,共42分)1.在C语言中,每条复合语句的结束标记字符为( )。
A.] B.) C.> D.}2. 在C语言程序中,单行或行尾注释语句使用的标记符为()。
A。
*/ B. /* C. // D. **3。
C语言源程序文件的扩展名为().A。
cpp B. exe C。
obj D。
c4。
控制字符'\n’表示( )。
A. 回车B. 响铃 C。
换行 D。
换页5。
运算符优先级最高的是()。
A。
== B。
+ C. && D。
||6. x<=10的相反表达式为()。
A。
x〉=10 B. x>10C。
x!=10 D. x>07. 每次先进行循环条件的判断,然后再执行循环体的语句为( ).A. for和do B。
for和whileC. while和do D。
switch和break8。
假定对二维数组a[3][4]进行初始化的数据为{{3,5,6},{2,8},{7}},则a[1][1]被初始化为( )。
A。
6 B。
2 C. 8 D. 79。
对于一个二维字符数组a[M][N],存储每个字符串的长度至多为()。
A. MB. NC. M-1D. N-110. 假定p所指对象的值为25,p+1所指对象的值为42,则表达式*p++的值为( )。
A. 25B. 42C. 26 D。
4311。
已知“int a[6][5];”,则元素a[2][4]的地址比该数组的首地址大()。
A. 14个字节 B。
56个字节 C。
28个字节 D. 96个字节12. 在C语言中,用户定义的标识符分为4种作用域,下列选项中不属于这4种作用域的是( )。
A. 全局 B。
语句 C. 文件 D。
局部13. 在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的()。
A. 地址B. 值C. 名称D. 类型14. 在C语言中,为只写操作打开一个文本文件的方式为()。
C语言模拟试卷(4)
终止整个循环
D)在循环语句中使用break语句是为了使流程跳出循环体,提前
结束循环
22. 以下错误的描述是( )。
A)使用while和do_while循环时,循环变量初始化的操作应在循环
语句之前完成
B)while循环是先判断表达式,后执行循环体语句
c)do_while和for循环均是先执行循环体语句,后判断表达式
B) 主函数可以在其它函数之后,函数内不可以嵌套定义函数
C) 主函数必须在其它函数之前,函数内不可以嵌套定义函数
D) 主函数必须在其它函数之后,函数内可以嵌套定义函数
26. 一个c语言程序的基本组成单位是 ( )
A)主程序 B)子程序 C) 函数 D)过程
27. 一个c语言程序总是从 ( )开始执行。
3.下面程序的运行结果为 # include <stdio.h> void main( ) { int j,i,k=0; for (j=11;j<=30;j++) { if(k%10= =0) printf (“\n”); for (i=2;i<j;i++) if (!(j%i) ) break; if (i>= j-1) { printf (“%d\t”,j ); k++;} } }
二、写结果题: 1.下面程序的运行结果是:
#include <stdio.h> main( ) { int i=0,j=0;
while (i<10) i++; while (j++<10); printf (“i=%d,j=%d\n”,i,j);
} 结果:
2.阅读下面的程序并回答问题。 # include <stdio.h> main( )
《C语言程序设计》试题四及答案
《C语言程序设计》试题四一、单项选择题。
(每题1分,共20分)1. C程序的基本单位是:()A.子程序B.程序C.子过程D.函数2.在C语言中,非法的八进制是:()A.016B.018C.017D.023. 不是C语言实型常量的是:()A.55.0B.0.0C.55.5D.55e2.54 .字符串“xyzw”在内存中占用的字节数是:()A.6B.5C.4D.35. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:()A.2.0B.2.25C.2.1D.1.5 D.1.5 D.1.5 D.1.56. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2-`a`,c2-c1);则输出结果为:()(a的ASCII码值为97)A.M,2B.G,3C.G,2D.D,g7. 使用语句scan f(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:()A.a=2.2,b=3B.a=2.2 b=3C.2.2 3D.2.2,38.表示关系12<=x<=y的C语言表达式为:()A.(12<=x)&(x<=y)B. (12<=x)&&(x<=y)C. (12<=x)|(x<=y)D.(12<=x)||(x<=y)9.设x=1,y=2,m=4,n=3,则表达式x>y?x:m<n?y:n的值为:()A.1B.3C.2D.410. 若有说明和语句:int a=5,b=6;b*=a+1;则b的值为:()A.5B.6C.31D.3611. 设整型变量s,t,c1,c2,c3,c4的值均为2,则执行语句(s=c1==c2)||(t=c3>c4)后,s,t的值为:()A.1,2B.1,1C.0,1D.1,012. 语句for(a=0,b=0;b!=100&&a<5;a++)s canf(“%d”,&b); scanf最多可执行次数为:()A.4B.6C.5D.113. 对于for(s=2;;s++)可以理解为:()A. for(s=2;0 ;s++)B. for(s=2;1 ;s++)C. for(s=2;s<2 ;s++)D. for(s=2;s>2;s++)14. 若有char h=`a`,g=`f`;int a[6]={1,2,3,4,5,6};则数值为4的表达式为:()A.a[g-h]B.a[4]C.a[`d`-`h`]D.a[`h`-`c`]15. 设:char s[10]={“october”};则printf(“%d\n”,strlen(s));输出是:()A.7B.8C.10D.1116. 若有int a[3][5]={2,2},{2,6},{2,6,2}},则数组a共有个元素:()A.8B.5C.3D.15二、填空题。
盐城工学院C语言程序设计模拟卷
目录盐城工学院C语言程序设计模拟试卷 2.pdf ·························· 1盐城工学院C语言程序设计模拟试卷 3.pdf ·························· 2盐城工学院C语言程序设计模拟试卷 4.pdf ·························· 3盐城工学院C语言程序设计模拟试卷 5.pdf ·························· 4盐城工学院C语言程序设计模拟试卷 6.pdf ·························· 5盐城工学院C语言程序设计模拟试卷 7.pdf ·························· 6盐城工学院C语言程序设计模拟试卷 8.pdf ·························· 7盐城工学院C语言程序设计模拟试卷 9.pdf ·························· 8盐城工学院C语言程序设计模拟试卷 10.pdf ·························· 9盐城工学院C语言程序设计模拟试卷 11.pdf ························· 10盐城工学院C语言程序设计模拟试卷 12.pdf ························· 11江苏省五年一贯制高职“专转本”考试 C 语言程序设计模拟试卷(一)一、选择题1.C 语言中最简单的数据类型包括( )。
国开《C语言程序设计》(形考任务四)试题及答案
一、选择题(共30分,每小题2分)试题1假定有"struct BOOK{char title[40]; float price;}; struct BOOK book;",则不正确的语句为( 选择一项:a.struct BOOK *x=malloc(book);b.struct BOOK x={"C++ Programming",27.0};c.struct BOOK *x=malloc(sizeof(struct BOOK));d.struct BOOK *x=&book;试题2假定有"struct BOOK{char title[40]; float price;} book/,则正确的语句为(选择一项:a.struct BOOK x= &book;b.struct BOOK *x=&book;“c.struct BOOK x=calloc(BOOK);「d.struct BOOK *x=BOOK;试题3在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是()。
选择一项:a.句点b.冒号c.分号d.逗号试题4假定一个结构类型的定义为struct A{int a,b; double c;};\则该类型的长度为(选择一项:1 b,10d.16试题5假定一个结构类型的定义为"struct D{int a; D* next;};",则该类型的长度为()。
选择一项:「a.4母b.8r c.12厂 d.16试题6假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。
选择一项:ra.x.a"b.x->a'c.x(a)1 d. x{a}试题7与结构成员访问表达式等价的表达式为()。
选择一项:ra.x->nameb.&x->name• c.(&x)->named.(*x)->name试题8假定一个链表中结点的结构类型为"struct AA{int data, struct AA *next;};n,则next数据成员的类型为()o选择一项:'a.struct AAb.struct AA*c.AAd.int试题9假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p 的结点时,应执行的操作为()。
(完整版)C语言程序设计试卷及参考答案
《C语言程序设计》期末考试模拟试卷及参考答案(B)2012.6.5整理一、选择题(每题2分,共30分)1、# include <stdio.h>的结果是______void main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i;for (i=0;i<3;i++)s+=(*(a+i))[i];printf("%d",s);}A.9B.12C.14D.15参考答案—D2、设有说明语句:char a= '\123abc';则变量a __________A. 包含7个字符B.包含6个字符C. 包含5个字符D. 包含4个字符参考答案—D3、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是_____A. 无限次B.有语法错,不能执行C. 一次也不执行D. 执行1次参考答案—A4、在C语言中,_____。
A.函数定义可以嵌套,但函数调用不能嵌套B.函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和调用均不能嵌套D.函数定义和调用均可以嵌套参考答案—B 5、以下叙述正确的是________A)do-while语句构成的循环不能用其它语句构成的循环代替。
B)do-while语句构成的循环只能用break语句退出。
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D)用do-while语句构成的循环,在while后的表达式为零时结束循环。
参考答案—D6、以下关于函数叙述中,正确的是。
A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值B.在函数体中至少必须有一个return 语句C.在函数体中可以定义另一个函数D.在函数体中可以调用函数自身参考答案—D7、以下数组声明语句中正确的是。
A.int a,a[n];B.int a[ ];C. int a[2][3]={{1},{2},{3}};D.int a[ ][3]={{1},{2},{3}};参考答案—C8、以下不能正确进行字符串赋初值的语句是________A.char str[5]= "good!";B.char str[ ]= "good!";C.char *str="good!";D.char str[5]={ 'g','o','o','d'};参考答案—A9、以下关于switch语句和break语句的描述中,只有______是正确的。
C语言程序设计模拟试卷
《C 语言程序设计》试卷语言程序设计》试卷一、选择题(60分,每题2分)分)(1)下列叙述中错误的是()。
)下列叙述中错误的是()。
A )计算机不能直接执行用C 语言编写的源程序写的源程序B )C 程序经C 编译程序编译后,生成后缀为.obj 的文件是一个二进制文件的文件是一个二进制文件C )后缀为.obj 的文件,经连接程序生成后缀为.exe 的文件是一个二进制文件的文件是一个二进制文件D )后缀为.obj 和.exe 的二进制文件都可以直接运行可以直接运行(2)按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是()。
则,不能出现在标识符中的是()。
A )大写字母)大写字母B )连接符)连接符C )数字字符字字符D )下划线)下划线(3)以下叙述中错误的是()。
)以下叙述中错误的是()。
A )C 语言是一种结构化程序设计语言语言是一种结构化程序设计语言B )结构化程序有顺序、分支、循环三种基本结构组成种基本结构组成C )使用三种基本结构构成的程序只能解决简单问题解决简单问题D )结构化程序设计提倡模块化的设计方法(4)对于一个正常运行的C 程序,以下叙述中正确的是()。
述中正确的是()。
A )程序的执行总是从main 函数开始,在main 函数结束函数结束B )程序的执行总是从程序的第一个函数开始,在main 函数结束函数结束C )程序的执行总是从main 函数开始,在程序的最后一个函数中结束在程序的最后一个函数中结束D )程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束数开始,在程序的最后一个函数中结束 (5)若有代数式n x x e + ,(其中e 仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C 语言表达式是语言表达式是( )( )( )。
A) sqrt(abs(n^x+e^x))B)sqrt(fabs(pow(n,x)+pow(x,e)))C)sqrt(fabs(pow(n,x)+exp(x)))D)sqrt(fabs(pow(x,n)+exp(x)))(6) 设有定义:int k=0; ,以下选项的四个表达式中与其他三个表达式的值不相同的是( )。
电大《C语言程序设计》2019-2020模拟试卷及答案
《C语言程序设计》2019-2020模拟试卷及答案一、单项选择题。
把合适的选项编号填写在括号内。
1.不符合C语言规定的复合语句是()。
DA.{} B.{;} C.{x=0;} D.{y=10}2.C语言中的选择类语句有两条,它们是()。
AA.if和switch B.if和else C.switch和case D.else和case3.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。
AA. mainB. MAINC. nameD. function4. 在C语言程序中,多行注释语句使用的开始标记符为()。
BA. //B. /*C. */D. **5. 用于输出表达式值的标准输出函数是()。
CA. scanf()B. print()C. printf()D. output()6. 在printf()函数调用的格式字符串中,每个格式符的先导字符为()。
BA. #B. %C. $D. @7. 由C语言源程序文件编译而成的目标文件的扩展名为( )。
CA. cppB. exeC. objD. C8. 由C语言目标文件连接而成的可执行文件的扩展名为( )。
BA. cppB. exeC. objD. c9.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符号为()。
AA. warningB. errorC. warnD. err10. 在C语言中,表示换行符的转义字符为()。
CA. \fB. \rC. \nD. \m11. 字符串“a+b=12\n”的长度为()。
BA. 6B. 7C. 8D. 912. 要定义a和b为两个整型变量,则使用的定义语句为()。
BA. int a;b;B. int a,b;C. int a b;D. int a:b;13. 下列数值中最大值是()。
CA. 28/8B. 35/13C. 28%8D. 35%514. 下列数值中最小值是()。
DA. 28/8B. 35/3C. 28%8D. 35%315. 已知x的初值为5,则下列各表达式中的最大值为()。
C语言程序设计模拟试题4
C语言程序设计模拟试题4 说明:1. 本卷共五大题,共6页。
2. 本试卷时间120分钟,满分100分。
一、项选择题(每小题2分,共20分, 每小题只有一个正确答案,请将你认为正确的答案填在对应的括号内。
)1. 组成C程序的基本单位是()。
A.函数B.标识符C.表达式D.语句2. 在C语言中,正确的字符类型的常量是()A.‘b‘ B.“ab” C.’ab’ D.”a”3. 在C语言中,逻辑值“真”是用()表示的。
A.预定义为真值的宏B.非零数C.正数D.非零整数4.下列描述中不正确的是()A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值5.设有如下定义:int x=1,y=-1;,则语句:printf(“%d\n”,(x--&++y));的输出结果是()A.1 B.0 C.-1 D.26.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是()A.c=b=a;B.(a=c)||(b=c);C.(a=c)&&(b=c);D.a=c=b;7.以下程序的输出结果是()A.10192 B. 9876C. 10990D.10109 1main(){int x=10,y=10,i;for(i=0;x>8;y=++i)printf(“%d %d”,x--,y);}8.以下程序的输出结果是()A.5 2 B.5 1 C.5 3 D.9 7main(){int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2) printf(“%d”,p[i]);}9.以下程序的输出结果是( )A.6B.6789C.’6’D.789{char a[10]={‘1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,0},*p;int i;i=8;p=a+i;printf(“%s\n”,p-3);}10.C语言提供的合法的数据类型关键字是( )A. DoubleB. shortC. integerD. Char二、读程序(每小题3分,共27分)1、以下程序的输出结果为:()main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}A.2,1B.2,0C.0.25,0D.程序有错2、以下程序的输出结果为:()#include "stdio.h"main(){int i;for(i=1;i<=5;i++){if(i%2)printf("*");elsecontinue;printf("#");}printf("$\n");}A.#*#*#$B.*#%*#$C.*#*#*#$D.*#*#*$3、有以下程序:#include "stdio.h"main(){char c[6];int i=0;for(;i<6;c[i]=getchar(),i++);for(i=0;i<6;putchar(c[i]),i++);}输入以下三行,每行输入都是在第一列上开始,<CR>代表一个回车键:a<CR>cdef<CR>程序输出结果为:()A.abcdefB. aC.aD.ab b bcdef c cddef4、以下程序的输出结果为:#include "stdio.h"main(){int c;while((c=getchar())!='\n'){switch(c-'2'){case 0:case 1:putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+3);default:putchar(c+2);break;}}printf("\n");}每行输入在第一列上开始,<CR>代表一个回车键:2473<CR>程序输出结果为:()A.6696B. 668977C.666965D.6698555、以下程序的输出结果为:( )A.19,59,5B.29,59,5C.2,9,5,9,5D.17,4,8,5main(){int i=1,j=3;printf("%d",i++);i+=j++*2;printf("%d,%d",++i,++j)printf("%d,%d\n",i,j);}6、以下程序的输出结果为:( )main(){ int a=2,i;for (i=0;i<3;i++)printf("%4d",f(a++));}f(int a){ int b=0;static int c=3;b++;c++;return a+b+c;}A. 7 8 9B. 7 7 7C.8 9 10D.7 9 117、下列程序,分别选择3条printf语句行的正确输出结果。
(完整版)C语言程序设计试题与答案-4
《C语言程序设计》试题(闭卷)得分评卷人一、单项选择题:(每题 2 分,共 30 分)1. C 语言规定:在一个源程序中,main函数的位置_____________。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2. 下列说法中错误的是_____________。
A. 主函数可以分为两个部分:函数头和函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行3. 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将_____________。
A. 生成目标文件B. 生成可执行目标文件C. 输出运行结果D. 自动保存源文件4. 以下选项中,不正确的 C 语言浮点型常量是_____________。
A. 160.B. 0.12C. 2e4.2D. 0.05. 以下用户标识符中,合法的是_____________。
A. intB. nitC. 123D. a+b6. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为_____________。
A. 算术运算、关系运算、赋值运算B. 算术运算、赋值运算、关系运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算7. 设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是_____________。
A. 1,1B. 0,1C. 1,0D. 0,08. sizeof (char)的结果值是_____________。
A. 4B. 2C. 1D.出错9. 设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是_____________。
A. 10<a<15B. a= =11|| a= =12 || a= =13 || a= =14C. a>10 && a<15D. !(a<=10) && !(a>=15)10. 要为字符型变量 a赋初值,下列语句中哪一个是正确的_____________。
《C程序设计》练习题4
《C程序设计》练习题一一.选择题1.以下选项中属于C语言的数据类型是()。
A. 复合型B. 双精度型C. 逻辑型D. 集合型2.以下说法中正确的是()。
A. C语言程序总是从第一个函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分3.选出下列标识符中不是合法的标识符的是()。
A. hot_doB. cat1C. _priD. 2ab4.下列描述中不正确的是()。
A.字符型数组中能存放字符串。
B.可以对字符型数组进行整体输入、输出。
C.可以对整型数组进行整体输入、输出。
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
5.表达式:10!=9的值是()。
A. trueB. 非零值C. 0D. 16.能正确表示a和b同时为正或同时为负的逻辑表达式是()。
A.(a>=0||b>=0)&&(a<0 ||b<0) B.(a>=0 && b>=0)&&(a<0 && b<0) C.(a+b>0) &&(a+b<=0) D. a*b>07.C语言中,合法的字符型常数是()A.‘A’ B.“A” C. 65 D. A8.设有数组定义:char array[]=”China”; 则数组所占的空间是()A.4个字节 B.5个字节 C.6个字节 D.7个字节9.若变量c为char类型,能正确判断出c为小写字母的表达式是()A.’a’<=c<=’z’ B.(c>=’a’) || (c<=’z’)C.(‘a’<=c) and (‘z’>=c) D.(c>=’a’) && (c<=’z’)10.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是()A.printf(“x=%d\n”,x) B.printf(“x=%ld\n”,x)C.printf(“x=%8dl\n”,x) D.printf(“x=%LD\n”,x);11.指出下面正确的输入语句()A.scanf(“a=b=%d”,&a,&b);B. scanf(“%d,%d”,&a,&b) ;C.scanf(“%c”,c) ; D. scanf(“% f%d\n”,&f) ;12.C语言源程序的基本单位是()。
C语言程序设计---考试模拟试卷及解析
第十三章考试模拟试卷及解析13.1 模拟试卷1及解析一、单项向选择题(每小题1.5分,共30分)1. 关于C语言的叙述,不正确的是()。
A) C程序必须包含一个main()函数B) C程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 注释说明只能位于一条语句的后面分析:注释可以出现在语句的前面、后面或中间。
例如,#include<stdio.h>void main(void){ /*计算1+2+3+4+…100的值*/int i;long s=0;for( i=1; i<= /* 不要丢掉'='号!*/ 100; i++)s+=i;/* 注意以下输出语句中long int 数据的输出控制格式”%ld” */printf("s=%ld\n",s);}答案选D。
2.以下()是正确的字符常量。
A) "c" B) '\t' C) '12' D) "\\"分析:A)中的"c"为字符串常量,B)中的'\t'为转义字符,请大家注意常用转义字符的表示方法(参见教材),C)中'12'表示错误,因为单引号里面只能含有1个字符。
D)中表示的是一个字符串(双引号),尽管这个字符串中只含有一个转义字符'\\'。
答案选B。
3.设char ch='c';,则表达式ch+1的值为()。
A) 97 B) 98 C) 99 D) 100分析:字符变量存储的是所对应字符的ASCII值,26个字母之间的ASCII值按字母顺序是连续的,即字母'a'的ASCII值为十进制的97,字母'b'的ASCII值为十进制的98,依次类推。
大家应记住常用字符的ASCII值,如,'A'为65,'0'为48等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
} 3、 #include <stdio.h> struct student { int num; int chinese; int english; int math; int sum; }stu[10]; main() { int i; for(i=0;i<10;i++) { scanf("%d%d%d%d",&stu[i].num,&stu[i].chinese,&stu[i].english,&stu[i].math); stu[i].sum=stu[i].chinese+stu[i].english+stu[i].math; } max(); } max( ) { int i,j,total=0,number=0; for(i=0;i<1;i++) for(j=i+1;j<10;j++) if(stu[i].sum<stu[j].sum) { total=stu[j].sum; number=stu[j].num; } printf("总分最高的学生成绩是%d,学号是%d",total,number); } 另:#include <stdio.h> struct student { int num; int chinese; int english; int math; int sum; }stu[10]; main() { int i; for(i=0;i<10;i++)
14、下面程序的输出结果是 void prtv( int x)
。
{ printf(“%d\n”,++x); } main() { int t=10; prtv(t); A) 8 B) 9 } C) 10 。 D) 11
15、下面程序的输出结果是 main( ) { int a[ ]={1,2,3},s,b,*p; s=1; p=a; for(b=0;b<3;b++) s*=*(p+b); printf(“s=%d\n”,s); } A) s=1 二、 B) s=2 C) s=3
- 1 y = 0 1
x < 0 x = 0 x > 0
A)y = - 1 ; if ( x != 0 ) if ( x > 0 ) y = 1 ; else C)y = 0 ; if ( x > = 0 ) if ( x > 0 ) y = 1 ; else y = -1 y = 0 ;
B)if ( x > = 0 ) if ( x > 0 ) y = 1 ; else y = 0 ; else y = -1 ;
模拟试卷四参考答案:
一、ACCBA, DBDCA, ABCDD 二、√ 、×、×、×、√ 、×、√ 、√ 、×、× 三、1、m/10%10,m%10。2、n*t,t+s。3、i<=10-j,a[i]>a[i+1]。 四、1、x=3,a=2,b=3。2、c=-1。 3、 A 4、1 5、6 BBB 21 CCCCC 331 4641 五、
c = a ; if ( a>b ) c = 1 ; else if ( a == b ) c = 0 ; else c = -1行结果是 #include <stdio.h> main()
{ int i,j,k; for(i=1;i<4;i++) {for(j=1;j<4-i;j++) printf(" "); for(k=1;k<=2*i-1;k++) printf("%c",'A'+i-1); printf("\n");} 4、以下程序的运行结果是 main( ) { int a[5][5],i, j ; for( i=0;i<5;i++) { a[i][0] =1; a[i][i] =1; } for( i=2; i<5; i++ ) }
10、数组赋初值时的数据项的个数与数组元素的个数的下列关系中,错误的 是 。 B)小于 C)等于 D)小于等于 。
A)大于
11、下列数组初始化的定义中,错误的是 A)int a[5]={a}; C)int n[]={6,5,4,3,2,1};
B)char s[5]=“a123b”; D)int b[3]={1,2,3}; 。
1、 #include "stdio.h" main() { int x,y; printf("%d",&x); if(x<0) y=1-x; else y=2*x*x-2; printf("%d",y); } 2、(已知 1 立方米麦子约 1.42e8 粒) 总粒数为:sum=1+2+22+23+…+264 方法一: #define CONST 1.42e8 #include <stdio.h> #include <math.h> main() { int n; double term, sum = 0; /*累加求和变量赋初值*/ for (n=1; n<=64; n++) { term = pow(2, n-1); sum = sum + term; }
gets(p); printf("%d\n",func(p)); }
五、
编程题(本大题 28 分,第一题 8 分,第二题 9 分,第三题 11 分)
1、计算分段函数的值:
1-x Y= 2*x2-2 编程实现。
(x<0)
(x>=0)
2、曾有一位印度国王要奖赏他的聪明能干的宰相达依尔。达依尔只要求在国际 象棋的棋盘格上放置小麦粒,第一格放 1 粒,第二格放两粒,第三格放 4 粒,第 四格放 8 粒,……,最后能有多少小麦粒呢?编程实现。 3、输入 10 个学生 3 门课(语文、英语、数学)的成绩,用函数求:找出总分最高 的分数所对应的学号和总成绩。
3、在 a=2,b=0,c;则执行 c=b||a--;语句后,a 和 c 的结果是 A)0,1 B)1,0 C)1,1 D)2,0
4、在 scanf()函数的给是说明符中,长整型数的输入格式说明符是 A)%d B)%ld C)%lf 。 D)%x
。
5、以下程序的执行结果是 main() { int n=1;
D) s=6
判断(每空 1 分,共 10 分)
1、C 语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。 ( ) 2、C 语言规定:标识符应由字母、下划线和数字组成,且可以是上述字符的任 意组合,其长度也是任意的。( )
3、数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数 再决定。( ) 4、 if 语句有多种使用方法, 其中 if 子句和 else 子句也都可以单独使用。 ( )
12、已知:static int a[][3]={{5},{3},{13}};数值为 0 的元素是 A) a[0][0] B) a[0][2] C) a[1][0] D) a[2][0] 。
13、关于下列函数定义的描述中,错误的是 A) 定义函数时必须指出函数名和函数的类型 B) 定义函数时可以省略函数的类型 C) 函数可以嵌套定义 D) 函数不可以嵌套定义
四、
读程序写出结果(本大题共 5 道小题,每小题 4 分,共 20 分)
1、写出下面程序的执行结果 #include <stdio.h> main( ) { int a,b,x;
x=(a=3,b=a--); printf(“x=%d,a=%d,b=%d”,x,a,b); 2、以下程序的运行结果是 #include <stdio.h> main( ) { int a = 2, b = 3, c ; }
scanf(“%d”,&a[i]); printf(“\n”); for (j=1;j<=9;j++) for(i=1; if ( (5) (6) { t=a[i]; ; i++) ) a[i]=a[i+1]; a[i+1]=t;}
printf(“the sorted numbers: \n”); for ( i=1; i<11; i++) printf(“%d”,a[i]); }
printf(“%d,%d,%d”,n,++n,n--); } A)1,1,1 B)1,2,1 C)0,1,1 D)1,2,2 。
6、判断 char 型变量 ch 是否为大写字母的正确表达式是 A)‘A’<=ch<=‘Z’ B)(ch>=‘A’)&(ch<=‘Z’) C)(‘A’<=ch)AND(‘Z’>=ch) D)(ch>=‘A’)&&(ch<=‘Z’) 7、能够完成如下函数计算的程序段是 。
2、求 1!+2!+3!+4!+5!的和。 main() { int n,s=0,t=1; for(n=1;n<=5;n++) { t=(3) ; s=(4) ; } printf("1!+2!+3!+4!+5!=%d\n",s); 3、用起泡法对十个数由小到大排序。 main( ) { int a[11], i, j, t; printf(“input 10 numbers: \n”); for(i=1;i<11;i++) }
5、for 语句作为循环控制语句时,从语法上将其括号内各个表达式都可缺省, 但表达式内的分号却不可以却省。( )