C语言程序设计《习题集》
C语言程序设计习题集(可以很好的帮助语言的学习)
[1.3] 结构化程序由 种基本结构组成 。
2011-8-22
顺序
、
选择(分支) 选择(分支)
和
循环
三
4
第二章 C程序设计的初步知识
一、选择题
[2.1] 以下选项中正确的整型常量是 A) 12. B) -20 C) 1,000 [2.2] 以下选项中正确的实型常量是 A) 0 B) 3. 1415 C) 0.329*102 [2.3] 以下选项中不正确的实型常量是 A) 2.607E-1 B) 0.8103e 2 C) -77.77 。 D) 4 5 6 D).871 ) D) 456e-2
[2.10] 以下叙述中正确的是 A)在 程序中无论整数还是实数 程序中无论整数还是实数, A)在C程序中无论整数还是实数,只要在允许的范围内 都能准确无误的表示。 都能准确无误的表示。 B)C程序由主函数组成 程序由主函数组成。 B) 程序由主函数组成。 C)C程序由函数组成 程序由函数组成。 C) 程序由函数组成。 D)C程序由函数和过程组成 程序由函数和过程组成。 D) 程序由函数和过程组成。
2011-8-22 3
第一章 程序设计基本概念
[1.1] 在TURBO C环境中用 环境中用RUN命令运行一个 程序 命令运行一个C程序 环境中用 命令运行一个 时,所运行的程序的后缀是 .EXE 。 [1.2] C语言源程序文件的后缀是 ______, 经过编译 语言源程序文件的后缀是 .C , .OBJ ,经过连接后, 后, 生成文件的后缀是 ______,经过连接后, 生成文 件的后缀是______。 件的后缀是 .EXE 。
2011-8-22 7
[2.11] TURBO C中int 类型变量所占字节数是 中 A) 1 B) 2 C) 3 [2.12] 不合法的八进制数是 A) 0 B) 028 [2.13] 不合法的十六进制数是 A) oxff B) 0Xabc C) 077
C程序设计习题集(带答案)
一、选择题1.结构化程序设计的3种结构是(D)A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构2.以下叙述中正确的是(C)A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点3.C语言中用于结构化程序设计的3种基本结构是(A)A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue4.C语言中最简单的数据类型包括(B)A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型5.若变量已正确定义并赋值,以下符合C语言语法的表达式是(B) A)a:=b+1B)a=b=c+2C)int 18.5%3D)a=a+7=c+b6.下列可用于C语言用户标识符的一组是(B)A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof7.C语言中运算对象必须是整型的运算符是(A)A)%=B)/C)=D)<=8.若变量a,i已正确定义,且i已正确赋值,合法的语句是(B)A)a= =1B)++i;C)a=a++=5;D)a=int(i);9.已知int t=0;while (t=1){...}则以下叙述正确的是(B)A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对10.若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是(B) A)10<回车>22<回车>33<回车>B)10.0,22.0,33.0<回车>C)10.0<回车>22.0<空格>33.0<回车>D)10<<空格>>22<回车>33<回车>11.有如下程序:main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是(A)A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=212.有以下程序main(). {int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);}执行后输出结果是(C)A)1,1,2B)2,2,1C)2,2,2D)2,2,313.有如下程序main(){float x=2.0,y;if(x<0.0)y=0.0;else if(x<10.0)y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是(C)A)0.000000B)0.250000C)0.500000D)1.00000014.有如下程序:main(){int n=9;while(n>6){n--;printf("%d",n);}}该程序的输出结果是(B)A)987B)876C)8765D)987615.在下列选项中,没有构成死循环的是(D)A) int i=100;while(1){i=i 0+1;if(i>100)break;}B) for(;;);C) int k=10000;do{k++;}while(k>10000);D) int s=36;while(s)--s;16.设int x=1,y=1;表达式(!x||y--)的值是(B)A)0B)1C)2D)-117.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(D) A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参18.有以下程序float fun(int x,int y){return(x+y);}main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是(B)A)编译出错B)9C)21D)9.019.若有以下调用语句,则不正确的fun函数的首部是(D) main(){int a[50],n;…fun(n,&a[9]);…}A)void fun(int m,int x[])B)void fun(int s,int h[41])C)void fun(int p,int *s)D)void fun(int n,int a)20.fseek函数的正确调用形式是(B)A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)21.若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是(C)A)EOFB)-1C)1D)NULL22.若有说明语句:char c='\72';则变量c (A)A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定23.若有说明int a[3][4];则a数组元素的非法引用是(D) A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]24.设有以下说明语句struct stu{int a;float b;}stutype;则下面的叙述不正确的是(C)A)struct是结构体类型的关键字B)struct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名25.在C语言中,引用数组元素时,其数组下标的数据类型允许是(C) A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式26.若运行时给变量x输入12,则以下程序的运行结果是(A)main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)1027.以下说法正确的是(C)A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分28.表达式0x13^0x17的值是(A)A)0x04B)0x13C)0xE8D)0x1729.有以下程序main(){int a=3, b=4;printf("%d\n", (a++)*(b++));}程序运行后的输出结果是(A)A)12B)15C)16D)2030.下列程序执行后的输出结果是(A) void func(int *a,int b[]){b[0]=*a+6;}main(){int a,b[5];a=0; b[0]=3;func(&a,b);printf("%d\n",b[0]);}A)6B)7C)8D)931.若有下面的程序段:char s[]="china";char *p; p=s;则下列叙述正确的是(D)A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等32.以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a[],int n){int i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是(C)A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,33.以下程序的运行结果是(A) struct date{int year,month,day;}today;main(){printf("%d\n",sizeof(struct date));}A)6B)8C)10D)1234.若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是(D)A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point35.在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是(B)A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定36.fun(char *p2, char *p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是(A)A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'37.若执行下述程序时,若从键盘输入6和8时,结果为(B) main(){int a,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对38.fscanf函数的正确调用形式是(D)A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);39.下列关于C语言数据文件的叙述中正确的是(D)A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件40.有以下程序void ss(char *s,char t){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}main(){char str1[100]="abcddfefdbd",c='d';ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是(B)A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd41.struct link{int data;struct link *next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。
C语言程序设计习题集(有答案)
高等教育自学考试C语言程序设计(二)课程代号(05772)同步练习题班级学号姓名二O 一六年三月目录第一章C语言概述第二章基本数据类型第三章控制结构第四章运算符和表达式第五章函数第六章数组第七章字符与字符串第八章变量类别与编译预处第九章指针第十章结构体、共用体和枚举类型第十一章文件第一章C语言概述一、单项选择题1.在计算机上可以直接运行的程序是()。
A.高级语言程序B.汇编语言程序C.机器语言程序D.C语言程序2. 一个C语言程序是由()A.若干函数组成B.若干过程组成C.若干主程序组成D.若干子程序组成3. C语言不具有的特点是()A.具有结构化的控制语句B.数据类型丰富C.语法限制不太严格,程序设计自由度大D.在可移植性上,C语言比其他语言差4. 以下叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个主函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面5. 以下叙述正确的是()A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别和执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,所以具有其他语言的一切优点二、填空1. 计算机语言的发展经过了、和等阶段。
2. C语言既适合编写,也适合编写应用软件。
标准答案一、单项选择题CADDC二、填空1. 机器语言,汇编语言,高级语言2. 系统软件第二章基本数据类型一、单项选择题1.正确的C语言用户自定义标识符是()A.printB.floatC.when?D.random%22.属于C语言基本数据类型的是( )A.指针型B.无符号整型C.数组型D.结构型3.C语言的长整型数值在计算机中占用的字节个数是( )A.1B.2C.3D.44.C语言中,″\x3d″在内存中占用的字节数是( )A.1B.2C.4D.55.下列关于C语言的叙述错误的是( )A. 英文字母大小写不加以区分B. 不同类型的变量可以出现在同一个表达式中C. 在赋值表达式中赋值号两边的类型可以不同D. 某些运算符在不同的场合可以有不同的含义6.下列转义字符中错误的是( )A. ′\000′B. ′\14′C. ′\x111′D. ′\2′7.下列标识符中,不是C语言保留字的是( )A. charB. whileC. minD. default8.下列保留字中用于构成循环结构的是()A.ifB.whileC.switchD.default9. 数据-324在二进制文件和文本文件中所占的字节数分别是()A.2,2B.2,4C.4,2D.4,410. 请选出可以作为C语言用户标识符的一组标识符()A.void, define, WORD B.A3_B3, _123, abcC.FOR, -abc, Case D.2a, Do, Sizeof11.下列运算符优先级最高的是()A.关系运算符B.赋值运算符C.算术运算符D.逻辑运算符12. sizeof(float)是()A.一种函数调用B.一个不合法的表示形式C.一个整型表达式D.一个浮点表达式13. 下列叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个main函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面14. 编译C语言程序时,程序中的注释部分将()A.不参加编译,也不会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.参加编译,并会出现在目标程序中15. 下列字符串常量不正确的是()A.'abc' B."12'12" C."0" D." "16. 下列4个选项中,均是合法整型常量的是()A.160 -0xffff 011B.-0xcdf 01ª0xeC.-01 986,012 0668D.-0x48a 2e5 0x17. 以下选项中不属于C语言类型的是()A.signed short int B.unsigned long intC.unsigned int D.long short18. 数值029是一个()A.八进制数B.十六进制数C.十进制数D.非法数19. 在C语言中,要求运算数必须是整型的运算符是()A./ B.++ C.!=D.%20. 当c的值不为0时,以下能将c的值赋给变量a,b 的是()A.c=b=a B.(a=c) || (b=c)C.(a=c) && (b=c) D.a=c=b二、填空1. 表示空类型的保留字是_____________。
C语言全部章节习题集(本)
C语言全部章节习题集(本)《C语言程序设计》练习册专业:____________班级:____________学号:____________学生姓名:________ _任课教师:______ ___计算机学院基础教研室编制1 C语言概述一、单项选择题1、一个C程序的执行是从()。
A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2、在 C 语言中,每个语句必须以()结束。
A. 回车符B. 冒号C.逗号D.分号3、C 语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后4、一个C 语言程序是由()。
A. 一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成5、下列说法中错误的是( )。
A.主函数可以分为两个部分:主函数说明部分和主函数体B.主函数可以调用任何非主函数的其他函数C.任何非主函数可以调用其他任何非主函数D.程序可以从任何非主函数开始执行6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( )。
A. 生成可执行目标文件B.生成目标文件C.输出运行结果D.自动保存源文件二、填空题1、C 语言只有个关键字和种控制语句。
2、每个源程序有且只有一个函数,系统总是从该函数开始执行C 语言程序。
3、C 语言程序的注释可以出现在程序中的任何地方,它总是以符号作为开始标记,以符号作为结束标记。
4、C 语言中,输入操作是由库函数完成的,输出操作是由库函数完成的。
5、系统默认的C 语言源程序文件的扩展名是,经过编译后生成的目标文件的扩展名是,经过连接后生成的可执行文件的扩展名是。
6、C 语言的标识符只能由字母、数字和三种字符组成。
程序设计语言C_习题集(含答案)
《程序设计语言C》课程习题集一、单选题1.在C语言中,合法的长整型常数是A) OL B) 4962710 C) 324562& D) 216D2.以下有4组用户标识符,其中合法的一组是A) For B) 4d C) f2_G3 D) WORD3.以下选项中合法的字符常量是A)"B" B) '\010' C) 68 D) D4.以下程序的输出结果是main(){ int a=3;printf("%d\n",a+(a-=a*a) );}A) -6 B)12 C) 0 D) -125.设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值位为A) 0 B) 1 C)2 D) 36.t为int类型,进人下面的循环之前,t的值为0while( t=l ){ ……}则以下叙述中正确的是A) 循环控制表达式的值为0 B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对7.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是A) 地址传递B) 单向值传递C) 由实参传给形参,再由形参传回实参D) 传递方式由用户指定8.以下程序的输出结果是main(){ int i, a[10];for(i=9;i>=0;i- -) a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}A) 258 B) 741 C) 852 D) 3699.以下选项中,不能正确赋值的是A) char s1[10];s1="Ctest"; B) char s2[]={'C', 't', 'e', 's', 't'};C) char s3[20]="Ctest"; D) char *s4="Ctest\n";10.以下程序的输出结果是union myun{ struct{ int x, y, z; } u;int k;} a;main(){ a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf("%d\n",a.u.x);}A)4 B) 5 C) 6 D) 011.以下叙述正确的是A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点12. C语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构B) if、switch、breakC) for、while、do-while D) if、for、continue13.下列关于C语言用户标识符的叙述中正确的是A) 用户标识符中可以出现下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头14.有以下程序段int m=0,n=0; char c=’a’;scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是:A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,015.有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){ case 1: printf("%d",i);case 2: printf("%d",i);default: printf("%d",i);}}执行后输出的结果是A) 011122 B) 012 C) 012020 D) 12016.有以下程序main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}执行后输出的结果是A) 9,2 B) 10,2 C) 9,1 D) 10,117.有以下程序void f(int x,int y){ int t;if(x<y){ t=x; x=y; y=t; }}main(){ int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);printf("%d,%d,%d\n",a,b,c);}执行后输出的结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,518.有以下程序main(){ char *s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是A) n,two B) t,one C) w,one D) o,two19.有以下程序main(){ int m[][3]={1,4,7,2,5,8,3,6,9};int i,k=2;for(i=0;i<3;i++){ printf("%d ",m[k][i]); }}执行后输出结果是A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 920.设有如下说明typedef struct{ int n; char c; double x;}STD;则以下选项中,能正确定义结构体数组并赋初值的语句是A) STD tt[2]={{1,’A’,62},{2,’B’,75}};B) STD tt[2]={1,"A",62,2,"",75};C) struct tt[2]={{1,’A’},{2,’B’}};D) struct tt[2]={{1,"A",62.5},{2,"B",75.0}};21.以下选项中属于C语言的数据类型是A)复数型B)布尔型C)集合型D)整型22.一个C程序的执行是从A)main()函数开始,直到main()函数结束B)第一个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束D)main()函数开始,直到最后一个函数结束23.设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是A)3 B)0C)-12 D)924.若有 char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是A)cd\0e B)'c''d' C)cd D)cd e25.已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;下列表达式不是4的是A)*(*p+3) B)*p+3 C)*(*(p+0)+3) D)a[0][3]26.以下有宏替换不正确的叙述A)宏替换不占用运行时间 B)宏名无类型C)宏替换只是字符串替换D)宏名必须用大写字母表示27.执行char str[10]=”Ch\nina”; strlen(str)的值是A)5 B)6 C)7 D)928.下面程序的输出结果是#define POWER(x) (x*x)main(){int i=4; printf("%d",POWER(i-2)); }A)-9 B)-7 C)5 D)-629.在定义int a[3][4];后,第10个元素是A)a[2][4] B)a[3][2] C)a[3][3] D)a[3][1]30.下面程序的输出结果是typedef struct{long x[2];short y[4];char z[8];}MYTYPE;MYTYPE a;main(){ printf("%d\n",sizeof(a));}A)2 B)8 C)14 D)2431.以下能正确进行字符串赋值的是A)char s[5]={‘a’,’e’,’I’,’o’,’u’} B)char s[5];s=”good”C)char s[5]=”abcd” D)char s[5];s[]=”good”32.若有float x;则sizeof(x)和sizeof(float)两种描述A)都正确B)都不正确C)前者正确,后者不正确D)后者正确,前者不正确33.若有代数式3ae/(bc),则不正确的C语言表达式是A)3*a*e/b*c B)3*a*e/b/c C)a/b/c*e*3 D)a*e/c/b*334.下面程序的运行结果是Main( ){struct cmplx{ int x;int y;}cnum[2]={1,3,2,7};Printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1].x);}A)0 B)1 C)3 D)635.若有以下说明和语句,且0<=i<10,则()是对数组元素的错误引用int a[]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;A)*(a+i) B)a[p-a] C)p+i D)*(&a[i])36.设有以下宏定义:#define M 2#define X(m) ((M+2)*m)则执行语句:z=2*(M+X(3+2));后,z的值为A)44 B)45 C)32 D)3337.在如下程序段中的while循环int k=0;While(k=1) k++;A)有语法错,不能执行B)无限循环C)一次都不执行D)执行一次38.下列程序运行的结果为#include<stdio.h>Main(){ int k=0;Char c=’A’;Do{switch(c++){ case ‘A’:k++;break;Case ‘B’:k- -;break;Case ‘C’:k+=2;break;Case ‘D’:k=k%2;break;Case ‘E’:k=k*10;break;Default:k=k/3;}K++;}while(c<’G’);Printf(“k=%d”,k);}A)k=4 B)k=6 C)k=7 D)k=839.下列程序运行的结果为#include<stdio.h>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,50 C)80,-20 D)80,2040.阅读程序回答问题:main( ){ int i,j,k,m=0;for(i=1;i<4;i++)for(j=1;j<4;j++)for(k=1;k<4;k++)m++;printf(“M=%d”,m);}以上程序输出M=( ).A)3 B)6 C)9 D)2741.能将高级语言编写的源程序转换为目标程序的是A)链接程序B)解释程序C)编译程序D)编辑程序42.以下4组用户定义标识符中,全部合法的一组是A)main B)If C)txt D)intenclude -max REAL k_2sin turbo 3COM _00143.设有以下定义int a=0;double b=1.25;char c=’A’;#define d 2则下面语句中错误的是()A)a++ B)b++ C)c++ D)d++;44.以下4个选项中,不能看作一条语句的是A){;} B)a=0,b=0,c=0 C)if(a>0) D)if(b==0) m=1;n=2;45.有以下程序main( ){ char k; int i;for(i=1;i<3;i++){ scanf("%c",&k);switch(k){ case '0': printf("another\n");case '1': printf("number\n");}}}程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是A)another B)another C)another D)numbernumber number number numberanother number46.有以下程序void f(int v , int w){ int t;t=v;v=w;w=t;}main( ){ int x=1,y=3,z=2;if(x>y) f(x,y);else if(y>z) f(y,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);}执行后输出结果是A)1,2,3 B)3,1,2 C)1,3,2 D)2,3,147.有以下程序段int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是A)5 B)6 C)8 D)948.有以下程序#define f(x) x*xmain( ){ int i;i=f(4+4)/f(2+2);printf("%d\n",i);}执行后输出结果是A)28 B)22 C)16 D)449.设有以下语句typedef struct S{ int g; char h;}T;则下面叙述中正确的是A)可用S定义结构体变量B)可以用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量50.有以下程序int a=2;int f(int *a){return (*a)++;}main( ){ int s=0;{ int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}执行后输出结果是A)10 B)9 C)7 D)851.组成C程序的基本单位是A)函数B)标识符C)表达式D)语句52.设int类型的数据长度为2字节,则该类型数据的取值范围A)0至65536 B)0至65535 C)-32767至32768 D)-32768至3276753.在C语言中,逻辑值“真”是用( )表示的。
C语言程序设计习题集参考答案
附录:参考答案第一章程序设计基本概念一.选择题1-5 B A C D C 6 – 10 C A C B A二.填空题1.函数的说明部分,函数体2.变量的定义部分,执行部分3.最外层的一对大括弧内的部分4.输入和输出函数5.函数6.小写7.省第二章C程序设计的初步知识一.选择题1-5 D D A C B 6-10 A A D A A 11- 15 A B B C A 16-20 D A C B B二.填空题1. 9,62. 12,63. 15,64. 18,65. K,56.基本数据类型,构造类型,指针,空类型7.数组,结构体,共用体8.整型,字符型,实型,枚举类型9.整型,实型,字符,字符串10.用一个标识符代表一个常量11.数值型常量12.大写,小写13.数据类型,数据类型14.标识符15.基本型,短整型,长整型,无符号型,int,short,long,unsigned16.L,l 17. 十进制形式,指数形式18.fg_ab_ c_ _ de.h_ _ _ _ _ _j_ _ _k 19.‟\0‟ 20 75.5 21.double 22.-1038- 103823.x=3.600000 ,I= 3 24.赋值,算术,逻辑,条件,关系,逗豆25.(1)2 26.a<b||a<c.(2)3 .a>c&&b>cCC .a<c||b<ca=2,b=2,c=4 .a%2= = 127.(1)3 (2)2 (3)3 28. 2,1 29 4,8 30.强制类型转换第三章顺序结构一.选择题1-5 A B A B B 6-9 D C C D二.填空题1.控制语句、空语句、复合语句、表达式语句、函数调用语句2.函数调用3.在终端设备上按照指定的格式进行输出4.格式说明和普通字符5.%%6.地址,a的地址7.变量地址,变量名8.分号9.包含它的函数,调用函数10.花括弧11.GFEDCB 12.10<cr>40<cr>4<cr>4<cr>(<cr>表示回车换行符)13.10110 14.32<cr>16,15<cr>40<cr>13,13 15.PEOPLEpeople and computer第四章选择结构一.选择题1-5 B D B B A 6-10 A A A C D二.填空题1.if(a<=b) {x=1;printf(“####x=%d\n”,x); else {y=2;printf(“****y=%d\n”,y);}2.a= = 0 b= = 0 _derta < 03.x=1 y= 0x=24.x/10case 0:case 1: case 2: case 3:case 4: case 5:case 9:第五章循环结构一.选择题1-5 C C B C B 6-10 D A B C A二.填空题1表达式1;while(表达式2)表达式3;2.终止包含它的最内层循环的执行。
C语言程序设计_习题大全(含答案)
C语言程序设计_习题大全(含答案) C语言程序设计_习题大全(含答案)C语言程序设计是计算机科学与技术领域中非常重要的一门课程,对于学习和掌握程序设计的基本原理和方法具有重要意义。
在学习这门课程过程中,习题的练习和掌握是至关重要的一环。
本文将向大家介绍一份包含答案的C语言程序设计习题大全,帮助读者拓宽思路,加深对C语言程序设计的理解。
第一章:基础知识练习习题1:请编写一个C程序,输出"Hello, World!"。
答案:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```习题2:请编写一个C程序,将两个整数相加并输出结果。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("%d + %d = %d\n", num1, num2, sum);return 0;}```第二章:条件语句练习习题3:请编写一个C程序,判断某年份是否为闰年。
答案:```c#include <stdio.h>int main() {int year;printf("请输入年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("%d年是闰年\n", year);} else {printf("%d年不是闰年\n", year);}return 0;}```习题4:请编写一个C程序,判断用户输入的整数是否为正数、负数或者零。
C语言(编程)设计习题集
5.1 利用条件运算符的嵌套来完成此题: 学习成绩>=90分的同学用A表示,60-89分 之间的用B表示,60分以下的用C表示。
#include “stdio.h” int main() { int score; char c1=‘A’,c2=‘B’,c3=‘C’; printf(“Please input score:\n”); scanf(“%d”,&score); printf(“%c\n”,score>=90?c1(score>=60?c2:c3)); return 0; }
5.2 编程输出九九口诀。
#include “stdio.h” int mian() { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { printf(“%4d”,i*j); } printf(“\n”); } return 0; }
5.3 编程实现以下功能:读入两个操作 数(data1和data2)及一个运算符 (op),计算表达式data1 op data2 的值,其中op可以是+、-、*、/(分别用 if语句和switch语句加以实现)。
4.2 输入一个华氏温度,要求输出摄氏温 度,公式为c=5/9(F-32),输出要有文字说 明,取两位小数。
#include “stdio.h” int main() { float c,f; printf(“Please input c:\n”); scanf(“%f”,&f); c=5.0/9.0*(f-32); printf(“%.2f\n”,c); return 0; }
2.4 打印出1-500之间的素数。
#include “stdio.h” int main() { int n,k,i,t; for(n=1;n<=500;n+=2) { k=(int)sqrt(1.0*n) for(i=2;i<=k;i++) if(n%i==0)break; if(i>=k+1) printf(“%3d\n”); return 0; }
C语言程序设计习题集及解答
目录第一章C语言基础知识 (1)第二章C语言程序设计的初步知识 (2)第二章答案 (25)第三章顺序结构程序设计 (3)第四章选择结构程序设计 (4)第五章循环结构程序设计 (6)第六章数组 (7)第六章答案 (26)第七章函数 (9)第七章答案 (27)第八章指针 (12)第八章答案 (28)第九章结构体与共用体 (14)第九章答案 (28)第十章文件 (16)第十章答案 (29)模拟试题 (17)模拟试题答案 (25)第一章C语言基础知识考点:1.C语言的特点。
2.C语言的基本结构、字符集、标识符、关键字。
3.算法的概念和描述方法。
一、选择题1. A 是C程序的基本构成单位。
A)函数B) 函数和过程C) 超文本过程D) 子程序2.下列说法正确的是 C 。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B)一个函数的函数体必须要有执行部分,可以没有变量定义C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D)以上都不对3.下列说法正确的是C。
A)在执行C程序时不是从mian函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号4.下列标识符正确的是C。
A)x+y123 B)4_student C)a456 D)U.S5.以下说法正确的是C。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分6.B不是C语言提供的合法关键字。
A)char B)scanf C)case D)default7.C语言提供的合法关键字是C。
A)ELSE B)INT C)case D)printf8. 一个C语言程序是由B。
A)一个主程序和若干个子程序组成;B)函数组成, 并且每一个C程序必须且只能由一个主函数;C)若干过程组成;D)若干子程序组成.9. 以下叙述中错误的是(C )A.C语言是一种结构化程序设计语言。
C语言程序设计习题集及参考答案
C语言程序设计习题集及参考答案C语言程序设计习题集及参考答案一、简介C语言是一种广泛使用的程序设计语言,它具有高效、灵活和易于维护的特点。
在学习C语言的过程中,通过练习题的方式可以帮助我们加深对语言的理解和应用。
本文将提供一些C语言的练习题,并给出参考答案,以帮助读者巩固所学知识。
二、习题集1、选择题(1) C语言中的基本数据类型包括哪些? A. int, float, char B. int, float, double C. char, float, double D. int, float, boolean (2) 下列哪个标识符是合法的C语言变量名? A. 123 B. _abc C. ab-c D. a bc(3) 下面哪个运算符的优先级最高? A. + B. && C. ++ D. !2、填空题(1) 在C语言中,整数的默认存储类型是____________。
(2) 写出计算a和b的最大值的表达式:max = a ______ b; (3) 写出判断一个数是否为偶数的表达式:num % ______ == 0。
3、编程题(1) 编写一个程序,输出1到10之间的所有奇数和偶数。
(2) 编写一个程序,判断一个整数是否为素数。
如果是素数,输出"Yes",否则输出"No"。
(3) 编写一个程序,输入一个字符串,然后将字符串中的所有字母转换为大写。
三、参考答案1、选择题(1) C语言中的基本数据类型包括int、float和char,因此答案为A。
(2) 在C语言中,合法的标识符不能以数字开头,不能包含特殊字符和空格,因此选项A和C是错误的。
选项B中使用下划线作为变量名的一部分是合法的,因此是正确的选项。
选项D中的a和bc之间没有分隔符,不符合标识符的命名规则,因此也是错误的。
因此,答案为B。
(3) 在C语言中,运算符的优先级从高到低依次为:()、[]、.&、!、++、--、~、* &、+ -、% 、/ %、<< >>、< > <= >= 、== !=、& ^ |、&& ||以及所有的逻辑运算符。
C语言程序设计基础习题集
C语言程序设计基础习题集一、选择填空知识点1:C程序的基本结构和算法基本概念1.C语言程序的基本单位为_______。
A) 程序行B) 语句C) 函数D) 字符2.用C语言编写的代码程序______。
A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行3.以下叙述中正确的是______。
A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出4.结构化程序由三种基本结构组成,三种基本结构组成的算法____。
A)可以完成任何复杂的任务B)只能完成部分复杂的任务C)只能完成符合结构化的任务D)只能完成一些简单的任务5.在一个C程序中______。
A) main函数必须出现在所有函数之前B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后D) main函数必须出现在固定位置6.下列关于C语言的叙述错误的是______。
A) 大写字母和小写字母的意义相同B) 不同类型的变量可以出现在同一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义7.以下叙述中错误的是_______。
A)C程序中的#include和#define行均不是C语句B)除逗号运算符外,赋值运算符的优先级最低C)C程序中,j++;是赋值语句D)C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算8.以下程序的功能是给r输入数据后计算半径为r的圆面积s。
程序在编译时出错,出错的原因是________。
main()/* Beginning */{ int r; float s;scanf("%d",&r);s=p*r*r; printf("s=%f\n",s);}A)注释语句书写位置错误B)存放圆半径的变量r不应该定义为整型C)输出语句中格式描述符非法D)计算圆面积的赋值语句中使用了非法变量知识点2:数据和表达式计算9.以下标识符中,不能作为合法的C语言用户定义标识符的是_____。
谭浩强c语言程序设计习题集
目录重要次重要重复或欲删除基础第一章C语言概述1.1 选择题1.2 填空题第二章数据类型、运算符与表达式2.1 选择题2.2 填空题第三章最简单的C程序设计3.1 选择题3.2 填空题第四章逻辑运算和判断选取控制4.1 选择题4.2 填空题4.3 编程题第五章循环控制5.1 选择题5.2 填空题5.3 编程题第六章数组6.1 选择题6.2 填空题6.3 编程题第七章函数7.1 选择题7.2 填空题7.3 编程题第八章编译预处理8.1 选择题8.2 填空题8.3 编程题第九章指针9.1 选择题9.2 填空题9.3 编程题第十章结构体和共用体10.1 选择题10.2 填空题10.3 编程题第十一章位运算11.1 选择题11.2 填空题11.3 编程题第十二章文件12.1 选择题12.2 填空题12.3 编程题第一章C语言概述1.1 选择题*1.1一个C程序的执行是从。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。
但是C语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。
如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。
*1.2以下叙述正确的是。
A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误参考答案:C参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。
(完整版)C语言程序设计习题集及答案
C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。
A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。
A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。
A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。
A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。
A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。
printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。
C语言程序设计习题集(有答案)
C语言程序设计习题集(有答案) C语言程序设计习题集(有答案)C语言是一门广泛应用于软件开发和系统编程领域的计算机程序设计语言。
掌握C语言编程的基础知识和技能对于从事相关行业的人来说至关重要。
为了帮助读者加深对C语言的理解和应用,本文提供了一份C语言程序设计习题集,每道习题都附有答案,供读者参考和自我检测。
1. 输入输出问题描述:编程实现一个简单的输入输出程序。
要求从标准输入读入一个整数,然后输出该整数,并换行。
解答:```c#include <stdio.h>int main() {int num;scanf("%d", &num);printf("%d\n", num);return 0;}```2. 条件判断问题描述:编写一个程序,判断一个给定的整数是否为偶数。
如果是偶数,则输出"Even",否则输出"Odd"。
解答:```c#include <stdio.h>int main() {int num;scanf("%d", &num);if (num % 2 == 0) {printf("Even\n");} else {printf("Odd\n");}return 0;}```3. 循环结构问题描述:编写一个程序,计算并输出1到100之间所有偶数的和。
解答:```c#include <stdio.h>int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}printf("Sum: %d\n", sum);return 0;}```4. 数组问题描述:编写一个程序,从键盘输入5个整数,然后按照输入的顺序将它们输出。
C语言程序设计习题集7-10套
for(i=0;i<N;i++)
for(j=0;(5);j++)
{ t=a[i][j];
(6);
a[j][i]=t;
}
}
4、用递归法求n!
递归公式如下:
#include<stdio.h>
int jx(int n)
{
int f;
if(n==1)(7);
else f=(8);return来自f;}main()
{
int n,f;
printf(“Input n :”);
scanf(“%d”,&n);
f= jx(n);
printf("\n n!=%d",f);
}
5、求3*4数组中的最大值及其下标。
#include <stdio.h>
main()
{ int a[3][4]={{1,2,3,4}, {9,8,7,6},{-10,10,-5,2}};
}
四、编写程序(每题10分,共30分)
1.编写一个程序,提示用户输入一个用磅表示的重量,然后程序将磅转换为公斤。输出转换结果。已知1磅=454克,1公斤=1000克。
2.编写程序,判断整数n的奇偶性。n由键盘输入。如果n为0则输出“zero”,若为奇数则输出“odd”,若为偶数则输出“even”。
3.编写一个函数,计算下面公式:
8.jx(n-1)*n
9.max=a[i][j];
10.colum=j
四、根据题目要求编写完整程序(每题10分,共30分)
1、
#include<stdio.h>
voidmain()
C语言程序设计习题集
C语言程序设计习题集C语言是一门被广泛应用于软件开发和计算机科学教育领域的编程语言。
通过编写和解决各种程序设计习题,我们可以巩固和提高自己的C语言编程技能。
本文将介绍一些常见的C语言程序设计习题,帮助读者深入理解C语言的基本概念和技巧。
习题一:求两个整数的和要求编写一个程序,读取两个整数,并计算它们的和。
然后将结果输出到屏幕上。
示例输入:3, 5示例输出:8习题二:计算输入整数的平方和要求编写一个程序,读取多个整数,计算每个整数的平方,并将所有平方值的和输出到屏幕上。
示例输入:4, 5, 6示例输出:77习题三:判断一个数是否为素数要求编写一个程序,读取一个整数,并判断它是否为素数。
如果是素数,则输出"是素数";如果不是素数,则输出"不是素数"。
示例输入:7示例输出:是素数习题四:查找字符串中的特定字符要求编写一个程序,读取一个字符串和一个字符,并输出该字符在字符串中出现的次数。
示例输入:Hello, l示例输出:2习题五:统计学生成绩要求编写一个程序,读取学生姓名和他们的数学成绩,统计并输出平均成绩。
示例输入:Alice, 85; Bob, 90; Carol, 92示例输出:平均成绩为89习题六:判断闰年要求编写一个程序,读取年份,并判断该年份是否为闰年。
如果是闰年,则输出"是闰年";如果不是闰年,则输出"不是闰年"。
示例输入:2020示例输出:是闰年习题七:猜数字游戏要求编写一个程序,生成一个1到100之间的随机数,并帮助用户猜测这个数。
根据用户的猜测,给出"猜大了"或"猜小了"的提示,直到用户猜对为止。
示例输出:猜一个1到100之间的整数:50猜小了!猜一个1到100之间的整数:75猜大了!猜一个1到100之间的整数:62猜对了!你猜了3次。
通过解决以上习题,读者可以提高他们的C语言编程能力,并加深对C语言基础知识的理解。
山东建筑大学C语言程序设计习题集1-6套
山东建筑大学C语言程序设计习题集1-6套C语言程序设计试题集(第1套)一、单项选择题(每题2分,共20分)1、以下叙述不正确的是A)C程序由函数构成B) 一个C程序至少包含一个main函数C) main函数可以调用main函数D) main函数是每个程序执行的起始点2、C程序中能直接让机器执行的文件是A)编辑后的.c源文件B)通过编译的.obj文件C)通过连接的.exe文件D)编辑后的.bak文件3、假设定义变量如下:int x;float y;以下输入语句中哪个是正确的?A)scanf(“%f%d”,&y,&x); B)scanf(“%f%d”, y, x);C)scanf(“%f%f”,&y,&x); D)scanf(“%d%d”,&y,&x);4、已知:int a[][3]={1,2,3,4,5,6};则数组a的第一维的大小是A)2 B)3 C)4 D)无确定值5、.如果switch表达式是char 变量code,下面哪一个case子句是合法的。
A)case “3”:B)case …3?:C)case 3 : D)case =3:6、能正确表示”x的值在[1,10]和[200,210]范围内”的表达式是A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B) (x>=1) || (x<=10) || (x>=200) || (x<=210)C) (x>=1)&&(x<=10) || (x>=200)&&(x<=210)D) (x>=1) || (x<=10)&&(x>=200) || (x<=210)7、C语言中while和do-while 循环的主要区别是A)do-while循环至少无条件执行一次,而while循环可能一次也不执行B)w hile循环控制条件比do-while循环控制条件严格C)d o-while循环允许从外部转到循环体内,而while循环不允许D)do-while的循环体可以是复合语句,而while循环不可以是复合语句8、下面哪一项函数的头部是有效的?A)one(int a int b)B)i nt thisone(char x)C)c har another(int a,b)D)double yetanother9、若有定义char x[ ]= "12345"; char y[ ]={ '1', '2', '3', '4', '5'};则A)x数组与y数组的长度相同B)x数组长度大于y的长度C)x 数组长度小于y数组长度 D)x数组等价于y 数组10、二维数组的第一个元素的行下标和列下标是A) 1,1 B)0,1 C)1,0 D) 0,0二、填空题(每空3分,共30分)1、如果a=4, b=3,那么,在执行语句a=b;之后,a、b的值分别是(1)2、语句:if(6>5)printf(“#”);printf(“$”);输出(2)3、for( sum=j=0; j<=10; ++j) sum += j; 循环结束后sum的值等于(3)4、长度为10的int类型数组和长度为3 的double类型数组,哪一个数组占用的内存空间多(4)5、字符数组a)char a[]=“one”;占多少内存字节(5)6、如果ch<…A?或ch>…Z?,那么,表达式ch>=…A?&&ch<=…Z?的值是(6)7、编写C语句,交换a、b的值(7)8、为了使用库函数getchar(),必须在程序中包含命令(8)9、设int numbers[5]={17,25,30,56,58};编写C的for语句,将数组numbers 中的每个元素减去3。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章练习一一.选择题1.以下说法中正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分2.以下说法中正确的是A)#define和printf都是C语句B)#define是C语句,而printf不是C)printf是C语句,但#define不是D)#define和printf都不是C语句3.在C语言提供的合法的关键字是A)swicth B)cherC)Case D)default4.以下选项中属于C语言的数据类型是A)复数型B)逻辑型C)双精度型D)集合型5.C语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型6.C语言提供的合法的数据类型关键字是A)Double B)short C)integer D)Char7.在C语言中,不正确的int类型的常数是A)32768 B)0 C)037 D)0xAF8.在C语言中,合法的长整型常数是A)0L B)4962710 C)0.054838743 D)2.1869e10合法的C语言中,合法的字符型常数是A)'\t' B)"A" C)65 D)A9.在C语言中,合法的字符常量是A)'\084' B)'\x43'C)'ab' D)"\0"10.下列不正确的转义字符是A)'\\' B)'\" C)'074' D)'\0'11.若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为A) floatB) intC) charD) double12.设x和y均为int 型变量,则以下语句:x=x+y;y=x-y;x=x-y;的功能是A把x 和y按从大到小排列B把x和y按从小到大排列C无确定结果D交换x和y中的值13.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是A)1 B)2C)2.0 D)2.514.已知字母A的ASCⅡ码为十进制的65,下面程序的输出是main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值15.下面程序的输出是main(){ int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值16.设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为A) 1 B)2 C)3 D)017.表示关系x<=y<=z的c语言表达式为A) (X<=Y)&&(Y<=Z)B) (X<=Y)AND(Y<=Z)C) (X<=Y<=Z)D) (X<=Y)&(Y<=Z)18.设x和y均为int型变量,且x=1,y=2,则以下表达式的值为___.1.0+x/y19.能正确表示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>020.在以下一组运算符中,优先级最高的运算符是A)<= B)=C)% D)&&21.表达式:10!=9的值是A)true B)非零值C)0 D)122.有以下程序#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,-123.语句:printf("%d",(a=2)&&(b= -2);的输出结果是A)无输出B)结果不确定C)-1 D)124.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是A)c=b=a;B)(a=c)‖(b=c);C)(a=c)&&(b=c);C)a=c=b;25.能正确表示a≥10或a≤0的关系表达式是A)a>=10 or a<=0 B)a>=10│a<=0C)a>=10‖a<=0 D)a>=10 ‖a<=026.C语言中,运行对象必须是整型数的运算符是A)% B)\C)%和\ D)* *练习二一选择题1.合法的一组用户标识符是_______。
A) main , -s , ScanB) 3d, IF, abcC) f2_s , IF , abcD) Else, void, define2.若变量已正确定义并赋值,下面符合C语言语法的表达式是_____ 。
A) x:=y+1 B) x=y=z+2C) 13.5%2 D) x=x+y=y+z3.以下不合法的语句是_____。
A) x=y=100; B) d--;C) x+y; D) c=int(a+b);4.当c的值不为0时,能正确将c的值赋给a,b的是:A) c=b=a; B) (a=c)||(b=c);C) (a=c)&&(b=c); D) a=c=b;5.在C语言中,合法的字符常量是:A) '\081' B) '\x01'C) '12' D) "\n"6.在下列选项中,不正确的赋值语句是:A) k++; B) n1=n2=n3=0;C) k=i!=j; D) a=b+c=37.设int x=1,y=1; 表达式(!x||y--)的值是_____A) 0 B) 1C) 2 D) -18.C语言中运算对象必须是整型的运算符是_____A) %= B) /C) = D) <=9.若有以下程序段:int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3的值是:A) 0 B) 0.5 C) 1 D) 210.能正确表示逻辑关系:a≥10或a≤0的C语言表达式是____A) a>=10 or a<=0B) a>=0|a<=10C) a>=10 && a<=0D) a>=10||a<=011.下列语句中符合C语言语法的赋值语句是A) a=7+b+c=a+7; B) a=7+b++=a+7;C) a=7+b,b++,a+7 D) a=7+b,c=a+7;12.在下列选项中,不正确的赋值语句是A)++t; B)n1=(n2=(n3=0));C)k=i==j; D)a=b+c=1;13.以下程序的输出结果是main( ){ int a=12;printf("%d%d\n",--a,a--);}A 10 12B 11 12C 10 11D 10 1014.假定有以下变量定义:int k=7 ,x=12;则能使值为3的表达式是A x%=(k%=5)B x%=(k-k%5)C x%=k-k%5D (x%=k)-(k%=5)15.设a=1,b=2,c=3,d=4,则表达式:a<b?a:c++<d?a++:d的结果为A) 4B) 3C) 2D) 116.设x为int型变量,则执行以下语句后,x的值为x=10; x+=x-=x-x;A) 10B) 20C) 40D) 3017.下列可作为C语言赋值语句的是A) x=3,y=5B) a=b=6C) i--;D) y=int(x);18.设x.y.z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为A 4B 16C 32D 5219.下面程序的输出是main(){ int a=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));printf("%d%d%d%\n",k,a,b);}A) 0 0 3 B) 0 1 2C) 1 0 3 D) 1 1 2二、填空题1. 假定a,b为double型,则表达式a=2,b=a+3/2的值是_____。
2. int a=‟e‟; printf (“%c\n”, ‟A‟+(a-…a‟+1)); 执行后的输出结果是_____ 。
3. 说明语句:char y=‟\72‟;则变量y包含_____个字符?4. 已定义int a=7, b=12; 在空白处填入变量名,使表达式的值为3:(b%=a)-(___%=5)。
5. 有定义:char a; int b; float c; double d; 则表达式a*b+d-c值的类型为________。
6.当c的值不为0时,在下面空格中填入什么逻辑运算符可以正确将c的值赋给变量a, b:(a=c)______(b=c)。
7. 表达式“3.5+1/2+56%10”的计算结果是_______。
8. 整数123,取它的十位数的表达式为_______。
9. 若x为int类型且为非零,请以最简单的形式写出由逻辑表达式!x等价的C语言关系表达式___________10.设x=2.5,a=7,y=4.7, 则x+a%3*(int)(x+y)%2/4为。
11.已知int a=12,n=5;则:表达式运算后a的值各为。
a+=aa-=2a*=2+3a/=a+an%=(n%=2)a+=a-=a*=a12.设int a; float f; double i ;则表达式10+‟a‟+i*f值的数据类型是。
13.若a为int型变量,则表达式(a=4*5,a*2) , a+6的值为。
14.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为。