桂电信科C语言程序设计作业习题集及复习资料
《C语言程序设计》复习题(有答案)

《C语⾔程序设计》复习题(有答案)《C语⾔程序设计》期末复习题⼀、填空题1.程序设计语⾔⼀般分为机器语⾔、汇编语⾔、⾼级语⾔三⼤类。
2.在C语⾔中,基本的逻辑运算符有3个:逻辑与(&&)、逻辑或(||)、逻辑⾮(!)。
3.结构化程序设计有顺序、选择、循环3种基本控制结构形式。
4.在C语⾔中,有3种类型的整型变量:基本整型、长整型、短整型。
5.⽤于输出⼗进制形式基本整型数据的格式说符为%d或%md。
…else结构、if…elseif结构、switch结构来实现各种形式的选择结构。
10.C语⾔中的宏定义有两种形式:符号常量定义、带参数的宏定义。
11.数据的存储类型分为⾃动类型(auto)、静态类型(static)、寄存器类型(register)、外部类型(extern)。
12.在C语⾔中,函数分为标准库函数、⽤户⾃⼰定义的函数两种。
⼆、选择题1.在C语⾔中,表达式语句的终结符是(B)A.:B.;C.。
D.,2.在⼀个函数体内部,由左、右花括号括起来的语句称为(B)A.赋值语句B.复合语句C.单⾏语句D.空语句3.C语⾔中“结束本次循环的执⾏,但不退出循环结构”所使⽤的语句是(B)A、break语句B、continue语句C、return语句D、switch语句4.下列函数中不是常⽤库函数的是(D)A.scanf()B.fabs()C.cos()D.abc()5.下列变量名中,合法的变量名是()()。
8.⽤(B)说明的局部变量称为局部静态变量。
A.autoB.staticC.registerD.extern9.定义局部静态变量时若不赋初值,则在编译时将⾃动赋初值为(A)A.0B.1C.随即赋值D.不赋值10.⽂件包含命令的⼀般形式为(B)A.#defineB.#includeC.#ifdef,#else,#endifD.#if,#else,#endif11.说明语句:inta[50];定义了⼀个包含(C)个元素的整型⼀维数组。
桂林电子科技大学C语言精选样卷及答案

桂林电子科技大学C语言精选样卷总分:【100分】考试时间:【90分钟】一、单项选择题(共20题,每题2分,共计40分)()1、在下列选项中,不正确的表达式是________。
A、a>bB、c--, ++b, a+=1C、a=c+b>n-m=kD、p++()2、若变量x、y已正确定义并赋值,以下符合c语言语法的表达式是________。
A、++x,y=x--B、x+l=yC、x=x+10=x+yD、double(x)/10()3、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",a,b);}该程序的输出结果是( )A、2,1B、1,1C、1,0D、2,2()4、下列选项中均属于c语言合法的标识符是________。
A、Int#subbreakB、_3abLongC、3aprintfa_bD、WORDautoinclude()5、下列程序的运行结果是________。
void fun(int*a,int*b){int *k;k=a;a=b;b=k;}main(){int a=3,b=6,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,b);}A、63B、36C、编译出错D、0 0()6、下列程序段的输出是____。
int c[]={1, 3, 5};int *k=c+1;printf("%d", *++k);A、3B、4C、5D、6()7、定义如下变量和数组: int k; int a[3][3]= {9,8,7,6,5,4,3,2,1}; 则下面语句的输出结果是________。
for(k=0;k<3;k++) printf("%d",a[k][k]);A、7 5 3B、9 5 1D、7 4 1()8、在c 语言中,退格符是________。
C语言程序设计复习资料(答案)

C语言程序设计复习资料一、填空题1、C语言程序是函数构成的,其中有且只有1个主函数,程序的的执行总是从该函数开始。
2、用条件运算符写出求两个整数x,y中大数的表达式z =x>y?x:y。
3、定义一个符号常量PI,其值为3.1415926,格式是#define PI 3.1415926。
4、设整型变量X=5,Y=6,Z=7,执行X%=Y+Z后,X = 5。
5、执行语句“for(j=15 ;j >=5 ;j-- );”后,变量j的值为4。
6、在一个函数中有定义int a=60,*p=&a ;执行*p=*p +15;后,a的值为。
7、结构化程序设计的三种基本结构是顺序结构、选择结构和循环结构。
8、定义一个长度为100的整形一维数组a ,且前5个元素的初值为3,6,9,12,15,定义的格式为:int a[100]={3,6,9,12,15}。
9、写出表达式25>15&&65<25||88>75的值1。
10、函数的传值调用中,实际参数把它的值传递给形式参数。
11、表达式(int)(20+2.5*3+6+5.3) 的值是38 。
12、若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c的值的类型是。
13、写出表达式66>65&&65<85||85>95的值1。
14、在C语言中,允许在程序中用typedef来定义新的类型名代替已有的类型名,例如typedef int INTEGER;。
15、C语言采用编译方式将源程序转换为二进制的目标代码,编写好一个C程序到完成运行一般经过以下几个步骤:编辑、编译、连接、执行;16、C程序是由函数组成的,一般情况下函数体由说明部分和执行部分组成,其中说明部分的作用是;17、表达式m = a > b ? a+b : b+5 当a=15,b=11时,m的值为:26;18、函数的传值调用中,实际参数把它的值传递给形式参数;19、写出表达式1<4&&7<5的值;20、在C语言中,字符串是用双引号引起来的一串字符。
桂林电子科技大学C语言程序设计习题集及答案(已处理)

一单项选择题每题2分共44分1 以下叙述正确的是__C_A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从_B__开始执行的A 程序中第一个函数B 名为main的函数C 包含文件头文件的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句_B__A a b 58B iC a 58b 58D k int ab4 下面标识符中合法的用户标识符是_B__A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中正确的是_A__A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是_A__A B C D7 设a和b均为int型变量则执行以下语句后的输出为_B__int a 20 int b 3 printf "d\n"a b 2A 20B 21C 0D 238 已知int i则执行语句 i 26后i的值为_A__A 2B 3C 26D 不确定9 以下合法的字符常量为_D__A abB \482C \D \xaf10 若y为int型变量则执行以下语句后y的值是_C__y 8 y y- yyA 64B –56C –112D –4811 以下合法的浮点型常量是_D__A e-3B 15e24C 314e2LD 314 e 512 设int数据占用两个字节float数据占用四个字节double数据占用8个字节且已知float a 2int b 3则执行下列语句输出为__A_printf "d"sizeof ab 25A 4B 8C 6D 713 设int型占2个字节且int i -2则语句printf "u"i 的输出结果为_C __A 0B -2C 65534D 6553514 若xyz均为整型常量且a 100则执行下列语句后的z值为_A_x a y --a z xy-a--A 100B 400C 200D 30015 若有以下定义和语句int u 010v 0x10w 10printf "ddd\n"uvw 则输出结果是_A__A 81610B 101010C 8810D 8101016 设xy为int型变量则执行下列语句后y的值是__A _x 5 y xx y --y--yA 529B 2401C 1209D 62517 假设在程序中abc 均被定义成整型并且已赋大于1的值则下列能正确表示代数式A 1abcB 1 abcC 1ab float cD 10abc18 若有定义int a 8b 5cchar d A则执行语句c abda05后c的值为_A__A 2B 25C 3D 类型不一致无法计算编译出错19 在有以下程序mainint i 10j 1i ijprintf "ddd\n"iji执行后输出结果是_C_A 12311B 12211C 11311D 1231220 已知int i 65则putchar i printf "d"i printf "c"i 的输出结果为_A__A A65AB 6565AC AA65D AAA21 已知int yai 1则语句printf "dd"-i y a 363 的输出结果为_A__A -110B -218C 03D 11822 有以下程序mainchar abcda \b \xbcc \0xabd \023printf "cccc\n"abcd编译时出现错误以下叙述中正确的是_A__A 程序中只有a \语句不正确B b \xbc语句不正确C d \023语句不正确D a \和c \0xab语句都不正确二填空题第1题2分其余每题3分共56分1 设x为int型变量请写出描述x是偶数的表达式是_x2 0__2 已知scanf "a db dc d"abc 若从键盘输入234三个数分别作为变量abc 的值则正确的输入形式是_a 2b 3c 4__3 设有语句int a 3则执行了语句 a a- aa后变量a的值是_-12__4 以下程序的输出结果是_10 6__mainint a -10b -3printf "d\n"-aprintf "d\n"-ab5 以下程序的输出结果是_242__mainchar cc 0362printf "d\n"c6 以下程序段n所赋的是八进制数int m 32767n 032767 printf "do\n"mn7 字符串"\\name\\\101ddress\b\xaf"的长度为_15__8 有以下程序段int m 0n 0 char c ascanf "dcd"mcnprintf "dcd\n"mcn若从键盘上输入10A10 则输出结果是_10A10__9 以下程序的输出结果是___mainprintf "dox\n"101010printf "ddd\n"100100x10printf "dx\n"01201210 设abc为整形变量且a 2b 3c 4则执行完语句 a 16 b - c 之后变量a 的值为_28_11 以下程序的输出结果为__12_mainint x 023printf "x\n"--x12 以下程序的结果为___mainint a 2b 3cdc a a ad b b bprintf "a d c d\n"acprintf "b d d d\n"ad13 以下程序mainchar ch1ch2ch3scanf "ccc"ch1ch2ch3printf "ccccc"ch1ch2ch3当输入ABC时运行结果为 1 当输入A BC时运行结果为 214 若有定义float x以下程序段的输出结果是___x 516894printf "f\n" int x100005 float 100015 以下程序的功能是输入一个小写字母输出对应的大写字母将程序补充完整mainchar ch1 从键盘输入一个小写字母2 将该字母转换为大写字母3 输出转换后的结果16 当运行以下程序时在键盘上从第一列开始输入9876543210↙此处↙代表回车则程序的输出结果是___mainint a float bcscanf "2d3f4f"abcprintf "\na db fc f\n"abc17 以下程序的运行结果是___mainprintf "125f\n"1231234567printf "12f\n"1231234567printf "128d\n"12345printf "128s\n""abcdefghij"18 运行以下程序时如从键盘上输入abcdefg↙则输出结果是___mainchar ch1ch2ch3ch1 getchar ch2 getchar ch3 getcharputchar ch1 putchar ch2 putchar ch3putchar \n}19 运行以下程序时如从键盘上输入 a 3b 5↙353512↙abc↙后结果是___mainint ab float xy char c1c2scanf "a db d"abscanf "fe"xyscanf "ccc"c1c1c2printf "a db dx fy fc1 cc2 c\n"abxyc1c2顺序选择结构程序设计一单项选择题每题2分共40分1 以下程序运行后的输出结果是mainint a 0b 0a 10b 20 printf "ab d\n"abA ab 10B ab 30C 30D 出错以下程序运行后的输出结果是maindouble d 32 int xyx 12 y x38 50printf "d\n"dyA 3B 32C 0D 3073 以下程序运行后的输出结果是maindouble d float f long l int ii f l d 203printf "d ld 1f 1f\n"ilfdA 6 6 60 60B 6 6 67 67C 6 6 60 67D 6 6 67 604 以下程序运行后的输出结果是以下程序运行后的输出结果是y x-1 printf "d d\n"xyy z---1 printf "d d "zxy --z-1 printf "d d\n"zxA 3 1 4 3B 3 1 3 3C 3 1 4 3D 2 1 3 22 4 1 4 2 4 2 2 2 4 1 2 13 1 26 以下程序运行后的输出结果是mainint xyzx y 1z xyyprintf "ddd\n"xyzA 233B 232C 231D 2217 以下程序运行后的输出结果是mainint x 4y 7x- y y xprintf "d d\n"xyA 4 7B -3 -3C -3 11D -3 48 以下程序运行后的输出结果是printf "d\n"b aA 65536B 0C 1D -19 以下程序abc C abc D abc11 在嵌套使用if语句时C语言规定else总是A 和之前与其具有相同缩进位置的if配对B 和之前与其最近的if配对C 和之前与其最近不带else的if配对D 和之前的第一个if配对以下程序运行后的输出结果是A 0B 1C 2D 314 若k是int型变量下面的程序段的输出结果是 Ck -3if k 0 printf ""else printf ""A BC D 有语法错误无输出15 以下程序运行后的输出结果是以下程序运行后的输出结果是main int x1 1x2 0x3 0if x1 x2x3 printf ""else printf ""A B 有语法错误 C D 无输出结果17 当a 1b 3c 5d 4时执行下面一行程序后x的值是_B__if a bif c d x 1else if a cif b d x 2else x 3else x 6else x 7A 1B 2C 3D 618 下列叙述中正确的是A break语句只能用于switch语句B 在switch语句中必须使用defaultC break语句必须与switch语句中的case配对使用D 在switch语句中不一定使用break语句以下程序运行后的输出结果是includemainint x 1y 0a 0b 0switch xcase 1switch ycase 0abreakcase 1bbreakcase 2abbreakprintf "a db d\n"abA a 2b 1B a 1b 1C a 1b 0D a 2b 2二填空题每题3分共30分1 以下程序运行后的输出结果是以下程序运行后的输出结果是以下程序运行后的输出结果是mainint i 5jkj iiik i i iprintf "i 5d j 5d\nk 5d\n"ijk4 下面的程序运行时从键盘上输入9876543210 程序的输出结果是___mainint a float bcscanf "2d2f2f"abcprintf "a db 1fc 0f"abc5 下面程序的输出结果是___mainchar ch1ch2ch1 A5-3 ch2 A6-3printf "dc\n"ch1ch26 执行下面的语句printf "d\n" a 35a4a5 输出是___7 以下程序运行后的输出结果是int x 3if x2 printf "d"x printf "d\n"x10 以下程序运行后的输出结果是switch m2case 1 mcase 2 m 3case 5 m 6breakdefault m- 7printf "d\n"m三程序填空每空5分共30分1 下列程序的输出结果是1600请填空mainint a 9b 2float x 1 y 11zz a2bxy12printf "52f\n"z2 完成以下程序输入变量abc的值判断abc能否组成三角形计算三角形面积公式为include2mainint abc3printf "please input the value of abc"scanf "d d d" 4if 56s sqrt p p-a p-b p-cprintf "Yesthis is a triangle\n the area is 2f\n"selse printf "Nothis is not a triangle\n"循环结构程序设计一单项选择题每题2分共40分1 以下程序中while循环的循环次数是___mainint i 0while i 10if i 1 continueif i 5 breakiA 1B 10C 6D 死循环2 以下程序的执行结果是___mainint n 9while n 6 n-- printf "d"n该程序的输出结果是A 987B 876C 8765D 98763 以下程序段while循环执行的次数是___int k 0while k 1 kA 无限次B 有语法错C 一次也不执行D 执行1次4 以下叙述正确的是___A do-while语句构成的循环不能用其它语句构成的循环来代替B do-while语句构成的循环只能用break语句退出C 用do-while语句构成的循环在while后的表达式为非零时结束循环D 用do-while语句构成的循环在while后的表达式为零时结束循环5 以下程序的执行结果是___mainint aya 10 y 0do a 2 y aprintf "a d y d\n"ayif y 20 breakwhile a 14A a 12 y 12B a 12 y 12a 14 y 16 a 16 y 28a 16 y 20a 18 y 24C a 12 y 12D a 12 y 12a 14 y 26a 14 y 446 以下程序的执行结果是___mainint x 23do printf "d"x-- while xA 321B 23C 不输出任何内容D 陷入死循环7 有以下程序段输出结果是___int x 3do printf "d "x- 2 while - -xA 1B 3 0C 1 -2D 死循环8 以下程序的输出结果是___mainint a 0ifor i 1i 5iswitch icase 0 case 3 a 2case 1 case 2 a 3defaulta 5printf "d\n"aA 31B 13C 10D 209 以下程序的输出结果是___mainint i 0a 0while i 20forif i10 0 breakelse i--i 11 a iprintf "d\n"aA 21B 32C 33D 1110 以下循环体的执行次数是___mainint ijfor i 0j 1i j1i 2j-- printf "d \n"iA 3B 2C 1D 011 下列程序的输出结果是___mainint ijm 0n 0for i 0 2ifor j 0j 2jif j i m 1nprintf "d\n"nA 4B 2C 1D 012 下列程序的输出结果是___mainint isumfor i 1i 3sum sum iprintf "d\n"sumA 6B 3C 死循环D 013 以下程序执行后sum的值是___mainint isumfor i 1i 6i sum iprintf "d\n"sumA 15B 14C 不确定D 0 14以下程序执行后的输出结果是___mainint in 0for i 2i 5ido if i3 continue n while inprintf "n d\n"nA n 5B n 2C n 3D n 415 下列语句中能正确输出26个英文字母的是___A for a aa zprintf "c"aB for a aa z printf "c"aC for a aa zprintf "c"aD for a aa zprintf "c"a16 以下程序执行后的输出结果是___mainint x 1y 1while y 5if x 10 breakif x2 0x 5 continuex- 3 yprintf "dd"xyA 66B 76C 103D 7317 以下程序执行后的输出结果是___mainint a 5while a-- 5switch acase 1acase 4a 4case 5a 5breakdefaulta- 5printf "d\n"aA 12B 7C 5D 1318 对于下面的for循环语句可以断定它执行___次循环for x 0y 0 y 67 x 5 x printf "----"A无限 B 不定 C 5次 D 4次19 在执行以下程序时如果从键盘上输入ABCdef则输出结果为___include "stdioh"mainchar chwhile ch getchar \nif ch A ch Z ch ch32else if ch a ch z ch ch-32printf "c"chprintf "\n"A ABCdefB abcDEFC abcD DEF20 当执行以下程序时___int a 1do a aa while aA 循环体将执行1次B 循环体将执行2次C 循环体将执行无限次D 系统将提示有语法错误二填空题每空3分共33分1 若输入字符串abcde 则以下while循环体将执行___次while ch getchar e printf ""2 以下while循环执行的次数是___k 0 while k 10 k k13 下列程序的输出结果是___mainint x 0y 5z 3while z-- 0 x 5 y y-1printf "ddd\n"xyz4 下面程序的功能是计算1到10之间的奇数之和及偶数之和请填空mainint abcia c 0for i 0i 10i 2a i_ 1c bprintf "偶数之和 d\n奇数之和 d\n"a 25 下面程序的功能是输出100以内能被3整除且个位数为6的所有整数请填空mainint ijfor i 0 _ 1 ij i106if _ 2 continueprintf "d\n"j6 以下程序的输出结果是___mainint sifor s 0i 1i 3is iprintf "d\n"s7 要使以下程序段输出10个整数请填入一个整数for i 0i ___printf "d \n"i 28 程序的功能是根据以下近似公式求π值请填空完成求π的功能include "mathh"mainint n 30000 double s 00 long ifor i 1i ni s s_ 1printf "pi f\n"_ 2三程序填空题每空3分共27分1 下列程序是求的值include "stdioh"mainint i 2 float sum 1while 1sum sum10i 2printf "sum f\n" 32 以下程序的功能是从键盘输入若干个学生的成绩统计最高成绩和最低成绩当输入为负数时结束输入mainfloat xminscanf "f"xmin 1do if x xif x min 2scanf "f"xwhile 3printf "ff"min3 下面的程序用来求出所有的水仙花数所谓水仙花数是指一个3位数它的各位数字的立方和恰好等于它本身mainint nijkfor n 100 1 判断3位数n是否是水仙花数i n100 i是n的百位上的数字j 2 j是n的十位上的数字k n10 k是n的个位上的数字if 3 printf "d\n"n数组一单项选择题每题2分共40分1 以下对一维整型数组a的正确定义说明的是___A int a 10 Bint n 10a[n] C int n D define SIZE 10scanf "d"n int a[SIZE]int a[n]2 若有定义说明int a[10]则对数组a的元素正确引用的是___A a[10]B a[35]C a 5D a[10-10]3 执行下面程序段后变量k 的值是___int k 3s[2]s[0] k k s[1]10A 不定值B 33C 30D 104 以下程序的输出结果是___mainint ika[10]p[3]k 5for i 0i 10i a[i] ifor i 0i 3i p[i] a[i i1 ]for i 0i 3i k p[i]2printf "d\n"kA 20B 21C 22D 235 以下对一维整型数组a初始化的语句中正确的是___A int a[10] 00000B int a[10]C int x 2a[10] 10xD int a[10] 06 若有以下说明则数值为4的表达式是___int a[12] 123456789101112char c adgA a[g-c]B a[4]C a[d-c]D a[d-c]7 下列程序运行后的输出结果是___define 10void mainint isuma[] 12345678910sum 1for i 0i i sum- a[i]printf "sum d\n"sumA sum 55B sum -54C sum -55D sum 548 以下程序的输出结果是___mainint y 18i 0ja[8]do a[i] y2 i y y2 while y 1for j i-1j 0j-- printf "d"a[j]A 1000B 1001C 1010D 11009 以下对二维数组a的正确定义说明的是___A int a[3][]B float a 34 Cdouble a[1][4] D float a 3 410 若有定义说明int a[3][4]则对数组a的元素的引用非法的是___A a[2][21]B a[1][3]C a[4-2][0]D a[0][4]11 以下不能对二维数组a进行正确初始化的语句是___A int a[2][3] 0B int a[][3] 12 0C int a[2][3] 12 34 56D int a[][3] 12345612 下列数组定义语句中正确的是___A char a[][] abcdefB char a[2][3] abC char a[][3] abcdefD char a[][] abcdef13 下列程序运行后的输出结果是___mainint a[4][4]ijkfor i 0i 4ifor j 0j 4j a[i][j] i-jfor i 1i 4ifor j i1j 4jk a[i][j] a[i][j] a[j][i] a[j][i] kfor i 0i 4iprintf "\n"for j 0j 4j printf "4d"a[i][j]A 0 -1 -2 -3B 0 1 2 31 0 -1 -2 -1 0 1 22 1 0 -1 -2 -1 0 13 2 1 0 -3 -2 -1 0C 0 -1 -2 -3D 0 1 2 31 0 12 -1 0 -1 -22 -1 0 1 -2 1 0 -23 -2 -1 0 -3 2 1 014 以下程序的输出结果是___mainint ia[4][4] 135 246 357printf "dddd\n"a[0][3]a[1][2]a[2][1]a[3][0]A 0650B 1470C 5430D 输出值不定15 有以下程序mainint x[3][2] 0 ifor i 0i 3i scanf "d"x[i]printf "3d3d3d\n"x[0][0]x[0][1]x[1][0]若运行时输入2 4 6 则输出结果是___A 2 0 0B 2 0 4C 2 4 0D 2 4 616 下列描述不正确的是___A 字符型数组中可以存放字符串B 可以对字符型数组进行整体输入和输出C 可以对整型数组进行整体输入和输出D 不能在赋值语句中通过赋值运算符对字符型数组进行整体赋值17 对于以下定义叙述正确的是___char x[] "abcdef"char x[] ab cdefA 数组x和数组y等价B 数组x和数组y的长度相等C 数组x的长度大于数组y的长度D 数组x的长度小于数组y的长度18 以下选项中不能正确赋值的是___A char s1[10]s1 "Ctest"B char s2[] CtestC char s3[20] "Ctest"D char s4[30]strcpy s4"Ctest"19 若有定义和语句char s [10]s "abcd"printf "s\n"s 则输出结果是___以下□表示空格A abcdB aC abcd□□□□□D 编译不通过20 当执行下面程序时如果输入ABC则输出结果是___includeincludemainchar ss[10] "12345"gets ss strcat ss "6789"printf "s\n"ssA ABC6789B ABC67C 12345ABC6D ABC45678二填空题每空3分共24分1 若int类型变量占两个字节定义int x[10] 024 则数组x在内存中所占的字节数是___2 若有定义char a[] "\\141\141abc\t"则数组a在内存中所占的字节数是___3 下列程序的输出结果是___mainint ia[10]for i 9i 0i-- a[i] 10-iprintf "ddd\n"a[2]a[5]a[8]4 下列程序运行的结果是mainchar ch[7] "65ab21" int is 0for i 0ch[i] 0 ch[i] 9i 2 s 10sch[i]-0printf "d\n"s5 有定义语句char s[100]d[100]int j 0i 0且s中已赋字符串请填空以实现字符串复制注意不得使用逗号表达式while s[i]d[j] ___ jd[j] 06 下面程序运行的结果是mainchar s[] "abcdef"s[3] \0printf "s\n"s7 以下程序的输出结果是mainchar ch[3][5] "AAAA""BBB""CC"printf "\"s\"\n"ch[1]8 以下程序的输出结果是___mainchar ch[] "abc"x[3][4] int ifor i 0i 3i strcpy x[i]chfor i 0i 3i printf "s"x[i][i]printf "\n"三程序填空题每空3分共36分1 以下程序的功能是从键盘上输入若干个学生的成绩用输入负数结束输入统计出平均成绩并输出低于平均分的学生成绩请填空include "stdioh"mainint n 0i float x[1000]sum 00aveaprintf "Enter mark\n" scanf "f"awhile a 00 n 1000sum 1 x[n] 2n scanf "f"aave 3print "Output\n"printf "ave f\n"avefor i 0i ni if 4 printf "f\n"x[i]2 以下程序的功能是求出矩阵x的上三角元素之积其中矩阵x的行列数和元素的值均由键盘输入请填空define M 10mainint x[M][M] int nij long s 1printf "Enter a integer 10 \n"scanf "d"nprintf "Enter d data on each line for the array x\n"nfor 1for j 0j nj scanf "d"x[i][j]for i 0i nifor 2 3printf "ld"s3 以下程序数组a中存放一个递增数列输入一个整数并将它插入到数组a 中使之仍为一个递增数列请填空mainint a[ 1 ] 1102030405060708090 xipscanf "d"xfor i 0p 10i 10iif x a[i] p i 2for i 9i pi-- a[i1] a[i]3for i 0i 10i printf "5d\n"a[i]printf "\n"4 以下程序的功能是将t数组的内容连接到s数组内容的后面使s数组保存连接后的新字符串mainstatic char s[30] "abcdefg"t[] "abcd" int i 0j 0while s[i] \0 1while t[j] \0 s[ij] t[j] j2printf "s\n"s函数一单项选择题每题2分共40分1 以下正确的函数定义是___A double fun int xint yB double fun int xyz xy return z int z return zC fun xyD double fun int xint yint xy double z double zz xy return z return z2 以下正确的说法是___A 实参和与其对应的形参各占用独立的存储单元B 实参和与其对应的形参共占用一个存储单元C 有当实参和与其对应的形参同名时才共占用相同的存储单元D 形参是虚拟的不占用存储单元3 若调用一个函数且此函数中没有return语句则正确的说法是___A 该函数没有返回值B 该函数返回若干个系统默认值C 能返回一个用户所希望的函数值D 返回一个不确定的值4 以下正确的描述是___A 函数的定义可以嵌套但函数的调用不可以嵌套B 函数的定义不可以嵌套但函数的调用可以嵌套C 函数的定义和函数的调用均不可以嵌套D 函数的定义和函数的调用均可以嵌套5 若用数组名作为函数调用的实参传递给形参的是___A 数组的首地址B 数组中第一个元素的值C 数组中的全部元素的值D 数组元素的个数6 以下不正确的说法是___A 在不同函数中可以使用相同名字的变量B 形式参数是局部变量C 在函数内定义的变量只在本函数范围内有定义D 在函数内的复合语句中定义的变量在本函数范围内有定义7 已知一个函数的定义如下double fun int x double y则该函数正确的函数原型声明为___A double fun int xdouble yB fun int xdouble yC double fun intdoubleD fun xy8 关于函数声明以下不正确的说法是___A 如果函数定义出现在函数调用之前可以不必加函数原型声明B 如果在所有函数定义之前在函数外部已做了声明则各个主调函数不必再做函数原型声明C 函数在调用之前一定要声明函数原型保证编译系统进行全面的调用检查D 标准库不需要函数原型声明9 调用函数的实参与被调用函数的形参应有如下关系___A 只要求实参与形参个数相等B 只要求实参与形参顺序相同C 只要求实参与形参数据类型相同D 上述三点均需具备10 凡在函数中未指定存储类别的变量其隐含的存储类别是___A 自动B 静态C 外部D 寄存器11 在源程序的一个文件中定义的全局变量的作用域是___A 在本文件的全部范围B 该程序的全部范围C 一个函数的范围D 从定义该变量的位置开始至该文件的结束12 下列程序运行后的输出的数据是___int sum int nint p 1s 0ifor i 1i ni s p ireturn smainprintf "sum 5 d\n"sum 5A sum 5 151B sum 5 152C sum 5 153D sum 5 15513 下列程序运行后的输出结果是___int c 1mainstatic int a 5int b 6printf "a db dc d\n"abcfuncprintf "a db dc d\n"abcfuncfuncstatic int a 4int b 10a 2c 10b cprintf "a db dc d\n"abcA a 5b 6c 1B a 5b 6c 11C a 5b 6c 1D a 5b 6c 1 a 6b 21c 11 a 5b 21c 11 a 5b 21c 11 a 6b 21c 11 a 5b 6c 11 a 5b 6c 11 a 5b 6c 11 a 5b 6c 11a 8b 31c 21 a 8b 31c 21 a 8b 31c 21 a 5b 31c 2114 运行下面的程序后其输出结果是___mainint a 6b 2cc f a f bprintf "d\n"cint f int xint yy xxreturn yA 9B 6C 36D 1815 下列程序输出结果是___includemystatic int x 3xreturn xmainint ixfor i 0i 2i x myprintf "d\n"xA 3B 4C 5D 616 下列程序的输出结果是___includeint abc int uint vint wwhile v w uv u v v wreturn umainint a 24b 16cc abc abprintf "d\n"cA 8B 6C 5D 417 下列程序运行后的输出结果是___mainstatic char s[] "abcdefgca"p s printf "s[] s\n"sp char s[]int ijfor i j 0s[i] \0i if s[i] a2 s[j] s[i]s[j] \0A s[] abcdefgcaB s[] abdefgaC s[] bcdefgcD 程序有错18 下列程序运行后的输出结果是___void mainint m 4n 2kk fun mn printf "d\n"kk fun mn printf "d\n"kint fun int xint ystatic int n 3i 2i n1 n ixyreturn nA 12B 12C 12D 1212 23 25 16 19 下列程序运行后的输出结果是___int x 1mainint i 5fun iprintf "dd\n"ixfun mint mm xx mchar x A printf "d\n"xprintf "dd\n"mxA 65B AC AD 6561 61 67 6761 61 67 5720 下列程序运行后若从键盘输入ABC四个字符后程序输出是___includemainvoid receivreceivvoid receivchar cc getcharputchar cif c receivputchar cA ABCB ABCABC C ABCCBAD ABCABC 二填空题每空3分共30分1 函数调用语句fun ab cde 实参个数为___2 凡在函数中未指定存储类别的局部变量其默认的存储类别为___3 在一个C程序中若要定义一个只允许本源程序文件中所有函数使用的全局变量则该变量需要定义的存储类别为___4 C语言规定调用一个函数时实参变量和形参变量之间的数据传递方式是___5 运行下面程序其输出结果是___includeint xyoneint aba 25b 10x a-by abmainint aba 9b 5x aby a-boneprintf "dd\n"xy6 运行下面程序其输出结果是___includemainvoid printdint n 123printd nvoid printd int nint iif n 0 n -n putchar -putchar n100if i n10 0 printd i7 运行下面程序从键盘输入四个字符xyz其输出是___includemainvoid recursionrecursionvoid recursionchar cc getcharputchar cif c recursionputchar c8 以下程序的输出结果是___includevoid fun int xif x2 0 fun x2 printf "d "x mainfun 3 printf "\n"9 以下程序运行结果是___int a 1int f int cstatic int a 2c c1return a cmainint ik 0for i 0i 2i int a 3 k f ak aprintf "d\n"k10.以下程序的运行结果是___int k 0void fun int mm k k m printf "m d\n k d "mkmainint i 4fun i printf "i d k d\n"ik三程序填空题每空3分共30分1 一个整数称为完全平方数是指它的值是另一个整数的平方例如81是个完全平方数因为它是9的平方下列程序是在三位的正整数中寻找符合下列条件的整数它既是完全平方数且三位数字中又有两位数字相同例如14412126762626等。
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语言程序设计复习题及参考答案

C语言程序设计复习题及参考答案━━━━━━━━━━━━━━━━━━一、程序设计共6题(共计120.0分)━━━━━━━━━━━━━━━━━━第1题(20.0分)/*----------------------------------------------------------------------题目:函数fun的功能是:用递归法计算斐波拉契数列中第n项的值。
从第1项起,斐波拉契数列为: 1、1、 2、3、5、8、13、21....例如,若给n输入7,则该项的斐波拉契数值为13.------------------------------------------------------------------------注意:请勿改动程序中的其他内容。
----------------------------------------------------------------------*/#include <stdio.h>long fun(int g){switch(g)/********** Program **********//********** END **********/}void main(){long fib;int n;printf("【Input n:】 ");scanf("%d",&n);fib=fun(n);printf("【fib =】 %d\n",fib);}答案:{case 0: return 0;case 1:case 2 : return 1 ;}return( fun(g-1)+fun(g-2) );第2题(20.0分)/*----------------------------------------------------------------------题目:函数fun的功能是:从3个红球、5个白球、6个黑球中任意取出8个作为一组,进行输出。
桂林电子科技大学 C语言 程序设计 习题 答案(周信东) 实验2 顺序结构与逻辑运算

桂林电子科技大学 C语言程序设计习题答案(周信东)实验2 顺序结构与逻辑运算成绩:良评语:继续努力... 批改时间:2021-11-16 10:51:55 批改老师:实验2 顺序结构与逻辑运算学号:姓名:实验日期:2021-10-301. 实验目的和要求(1)掌握数据输入/输出函数的使用,能正确使用各种格式转换符。
(2)熟悉顺序结构程序中语句的执行过程,并学会基本调试程序方法。
(3)能够正确使用逻辑运算符和逻辑表达式。
(4)学会运用逻辑表达式或关系表达式等表示条件。
(5)熟练掌握if语句和switch语句,掌握条件表达式构成的选择结构。
(6)熟练掌握跟踪调试程序,针对具体数据组织输入测试数据,观察程序运行能否得到预期的输出结果。
(7)学会编写简单程序。
2. 实验内容:实验指导书中的实验三和实验四3. 实验步骤及结果实验三部分:3-1-1 该程序正确的源程序代码(或窗口截图):程序运行结果画面如下:3-1-2该程序正确的源程序代码(或窗口截图):程序运行结果画面如下:3-2-1该程序完整的源程序代码(或窗口截图):程序运行结果画面如下:3-2-2该程序完整的源程序代码(或窗口截图):程序运行结果画面如下:3-3 注意:这道程序我们不按书中提示进行,而在VC环境下进行调试。
语法错误和逻辑错误的区别何在?语法错误是指违背了程序的语法规则,比如增添了某个符号,或者少了头文件,且无法通过编译器的编译,更无法运行。
逻辑错误是指在语法正确的前提下算法上的错误,能够运行,但结果往往不对,且很难发现。
如何启动单步调试?单击菜单栏“组建”下的“开始调试”,单击“STEP INTO”,也可以按快捷键F11,使每条语句单独执行。
要使程序运行到“ss=(k…”这一行暂停下来,该如何操作?怎样终止调试状态(程序复位)?单击调试菜单中的“stept over”或按快捷键F10。
单步调试状态下,向下运行一条语句的操作方法(分两种情况回答,第一种,跟踪到自定义函数内部,第2种,不跟踪到自定义函数内部):1. 单击调试菜单中的Step into 进入到自定义函数内部。
C语言程序设计试题及答案完整版

C语言复习资料5元必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计习题集桂林电子科技大学信息科技学院2010.6基础知识一单项选择题(每题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 以下程序运行后的输出结果是___。