C语言程序设计作业习题集及答案
《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。
C语言程序设计试题及答案解析

C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
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语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。
#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。
C语言程序设计练习题1及答案

C语言练习题(一)一选择题1以下不正确的C语言标识符是( D )。
A.ABC B.abc C.a_bc D.ab.c2以下正确的c语言标识符是( )。
A.%x B.a+b C.a123 D.test!3一个c程序的执行是从( ).A.main( )函数开始,直到main( )函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main( )函数开始,直到最后一个函数结束4 一个C语言程序是由()。
A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成5 C语言程序的基本单位是( )。
A.过程B.函数c子程序D.标识符6 编辑程序的功能是( )。
A.建立并修改程序B.将c源程序编译成目标程序C.调试程序D.命令计算机执行指定的操作7以下结果为整数的表达式(设有int i;char c;float f;)().A.i+f B.i*c C.c+f D.i+c+f8以下不正确的语句(设有int p,q)是( )。
A.P*=3; B.p/=q; C.p+=3; D.p&&=q;9 以下使i的运算结果为4的表达式是()。
A.int i=0,j=0;(i=3,(j++)+i);B.int i=1,j=0;j=i=((i=3)*2);C.int i=0,j=1;(j==1)?(i=1);(i=3);D.int i=1,j=1;i+=j+=2;10设n=10,i=4、则赋值运算n%=i+1执行后,n的值是().A.0 B.3 C.2 D.111逗号表达式(a=3*5,a*4),a+15的值为( ),a的值为( )。
①A.15 B.60 C.30 D.不确定②A.60 B.30 C.15 D.9012 如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为().A.1 B.2 C.3 D.413 若有代数式3ae/bc,则正确的C语言表达式是(C)A)a/b/c*e*3 B)3*a*e/b/cC)3*a*e/b*c D)a*e/c/b*314在C语言中,要求运算数必须是整形的运算符是(D).A)/ B)++ C)!= D)%15 若以下变量均是整形,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为(A).A)7 B)8 C)9 D)1016在C语言中,int、char和short三种类型数据在内存中所占用的字节数(D)。
程序设计语言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语言程序设计课后习题及答案
c语言程序设计课后习题及答案C语言程序设计是计算机科学与技术专业的核心课程之一,它不仅教授了编程语言的基本知识,还培养了学生的逻辑思维能力和问题解决能力。
课后习题是巩固课堂学习内容的重要手段,以下是一些C语言程序设计的典型课后习题及答案。
习题1:基本数据类型编写一个程序,输入一个整数和一个浮点数,然后输出它们的和。
```c#include <stdio.h>int main() {int a;float b, sum;printf("请输入一个整数:");scanf("%d", &a);printf("请输入一个浮点数:");scanf("%f", &b);sum = a + b;printf("它们的和是:%f\n", sum);return 0;}```习题2:条件语句编写一个程序,根据输入的成绩判断学生的等级。
```c#include <stdio.h>int main() {float score;printf("请输入学生的成绩:");scanf("%f", &score);if (score >= 90) {printf("等级:A\n");} else if (score >= 80) {printf("等级:B\n");} else if (score >= 70) {printf("等级:C\n");} else if (score >= 60) {printf("等级:D\n");} else {printf("等级:F\n");}return 0;}```习题3:循环结构编写一个程序,计算1到100的整数之和。
C语言程序设计(第三版)习试题(库)答案解析
C语言程序设计(第三版)习试题(库)答案解析C语言程序设计(第三版)习题库1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。
请编程序。
#include main(){float r,h,C1,Sa,Sb,Va,Vb;scanf(__”%f”__,&r);scanf(”%d”,__&h_);;C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*r*r*r/3;Vb=Sa*h;printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f”,Cl,Sa ,Sb,Va,Vb);}2、输入一个华氏温度,要求输出摄氏温度。
公式为c=5(F-32)/9输出要求有文字说明,取位2小数。
#includemain(){float F,c;scanf("%f",&F);____c=5*(F-32)/9______;printf("c=%.2f",c);}3、有一函数:??≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。
#includemain(){int x,y;printf("输入x :");scanf("%d",&x);if(x<1) { /* x<1 */y=x;printf("x=%3d, y=x=%d\n",x,y);} else if (____x<10_______){ /* 1≤x-10 */_____y=2*x-1_______;printf("x=%3d, y=2*x-1=%d\n",x,y);} else{ /* x ≥10 */y=3*x-11;printf("x=%3d, y=3*x-11=%d\n",x# include "stdio.h" main(){int x,y;scanf("%d",&x);{ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}# include "stdio.h" main(){int x,y;scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d\n",y);}# include "stdio.h" main(){scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;} # include "stdio.h" main() {int x,y;scanf("%d",&x);if(x<1)y=x;else if(x>=1 && x<10)y=2*x-1;elsey=3*x-11;printf("%d",y);},y);}}4、给定一个不多于5位的正整数,要求:①求它是几位数;②按逆序打印出各位数字。
c语言程序设计考试题库及答案
c语言程序设计考试题库及答案1. 选择题1.1 下列关于C语言的描述,错误的是:A. C语言是一种过程式编程语言B. C语言支持面向对象编程C. C语言支持结构化编程D. C语言具有丰富的库函数答案:B1.2 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C1.3 下列选项中,哪个不是C语言中的合法变量名?A. _myVarB. myVar2C. 2ndVarD. var$答案:D2. 填空题2.1 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2.2 C语言中,用于输入数据的库函数是______。
答案:scanf2.3 C语言中,用于输出数据的库函数是______。
答案:printf3. 简答题3.1 简述C语言中数组的定义方式。
答案:在C语言中,数组可以通过指定数据类型和数组大小来定义。
例如,定义一个整型数组可以写作:int arrayName[arraySize];。
3.2 解释C语言中的指针是什么,并给出一个指针的定义示例。
答案:指针是一种变量,它存储的是另一个变量的内存地址。
定义指针的示例:int *ptr; 这里ptr是一个整型指针。
4. 编程题4.1 编写一个C语言程序,计算并输出100以内所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```4.2 编写一个C语言函数,实现字符串反转的功能。
答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```。
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程序,判断用户输入的整数是否为正数、负数或者零。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言选题集一单项选择题(每题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);的输出结果为___。
A 0B -2C 65534D 6553514 若x、y、z均为整型常量,且a=100,则执行下列语句后的z值为___。
x=a++; y=--a; z=x+y-a--;A 100B 400C 200D 30015 若有以下定义和语句:int u=010,v=0x10,w=10,printf("%d,%d,%d\n",u,v,w);,则输出结果是___。
A 8,16,10B 10,10,10C 8,8,10D 8,10,1016 设x、y为int型变量,则执行下列语句后,y的值是___。
x=5; y=x++*x++; y=--y*--y;A 529B 2401C 1209D 62517 假设在程序中a,b,c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 A 1/a*b*c B 1/(a*b*c) C 1/a/b/(float)c D 1.0/a/b/c18 若有定义:int a=8,b=5,c;char d='A ';,则执行语句c=a/b+d%a+0.5;后c 的值为___。
A 2B 2.5C 3D 类型不一致,无法计算,编译出错19 在有以下程序:main(){ int i=10,j=1;i=i+j++;printf("%d,%d,%d\n ",i++,++j,i);}执行后输出结果是___。
A 12,3,11B 12,2,11C 11,3,11D 12,3,1220 已知int i=65;,则putchar(i);printf("%d ",i);printf("%c ",i);的输出结果为___。
A A,65,AB 65,65,AC A,A,65D A,A,A21 已知int y,a,i=1;,则语句printf("%d,%d ",-i++,(y=a=3.6*3));的输出结果为___。
A -1,10B -2,1.8C 0,3D 1,1822 有以下程序:main(){ char a,b,c,d;a='\'; b='\xbc ';c='\0xab '; d='\023';printf("%c%c%c%c\n ",a,b,c,d);}编译时出现错误,以下叙述中正确的是___。
A 程序中只有a='\';语句不正确B b='\xbc ';语句不正确C d='\023';语句不正确D a='\';和c='\0xab ';语句都不正确二 填空题(第1题2分,其余每题3分,共56分)1 设x 为int 型变量,请写出描述“x 是偶数”的表达式是___。
2 已知scanf("a=%d,b=%d,c=%d ",&a,&b,&c);,若从键盘输入2、3、4三个数分别作为变量a 、b 、c 的值则正确的输入形式是___。
3 设有语句int a=3;,则执行了语句 a+=a-=a*a 后,变量a 的值是___。
4 以下程序的输出结果是___。
main(){ int a=-10,b=-3;printf("%d\n ",-a++);printf("%d\n ",-a+b);}5 以下程序的输出结果是___。
main() { char c;abc1的表达式是____。
c=0362;printf("%d\n",c);}6 以下程序段(n所赋的是八进制数)执行后输出结果是___。
int m=32767,n=032767; printf("%d,%o\n",m,n);7 字符串"\\name\\\101ddress\b\xaf"的长度为:___。
8有以下程序段:int m=0,n=0; char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是___。
9 以下程序的输出结果是___。
main(){ printf("%d,%o,%x\n",10,10,10);printf("%d,%d,%d\n",10,010,0x10);printf("%d,%x\n",012,012);}10 设a、b、c为整形变量,且a=2、b=3、c=4,则执行完语句 a*=16+(b++)-(++c);之后,变量a的值为___。
11 以下程序的输出结果为___。
main(){ int x=023;printf("%x\n",--x);}12 以下程序的结果为___。
main(){ int a=2,b=3,c,d;c=(a++)+(a++)+(a++);d=(++b)+(++b)+(++b);printf("a=%d c=%d\n",a,c);printf("b=%d d=%d\n",a,d);}13 以下程序main(){ char ch1,ch2,ch3;scanf("%c%c%c",&ch1,&ch2,&ch3);printf("%c%c%c%c%c",ch1,'#',ch2,'#',ch3);}当输入ABC时运行结果为【1】,当输入A BC时运行结果为【2】。
14 若有定义:float x;,以下程序段的输出结果是___。
x=5.16894;printf("%f\n",(int)(x*1000+0.5)/(float)1000);15 以下程序的功能是:输入一个小写字母,输出对应的大写字母,将程序补充完整。
main(){ char ch;【1】 /* 从键盘输入一个小写字母 */【2】 /* 将该字母转换为大写字母 */【3】 /* 输出转换后的结果 */}16 当运行以下程序时,在键盘上从第一列开始输入9876543210↙(此处↙代表回车),则程序的输出结果是___。
main(){ int a; float b,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}17 以下程序的运行结果是___。
main(){ printf("%12.5f\n",123.1234567);printf("%12f\n",123.1234567);printf("%12.8d\n",12345);printf("%12.8s\n","abcdefghij");}18 运行以下程序时,如从键盘上输入abcdefg↙,则输出结果是___。
main(){ char ch1,ch2,ch3;ch1=getchar(); ch2=getchar(); ch3=getchar();putchar(ch1); putchar(ch2); putchar(ch3);putchar('\n');}19 运行以下程序时,如从键盘上输入:a=3,b=5↙35,35.12↙abc↙后,结果是___。
main(){ int a,b; float x,y; char c1,c2;scanf("a=%d,b=%d",&a,&b);scanf("%f,%e",&x,&y);scanf("%c%c%c",&c1,&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);}顺序、选择结构程序设计一单项选择题(每题2分,共40分)1 以下程序运行后的输出结果是___。