C语言学习复习总结计划练练习习题带答案.docx

合集下载

194道C语言复习练习题及答案

194道C语言复习练习题及答案

C语言程序设计复习参考练习题语言程序设计复习参考练习题程序设计复习参考练习题,在对应的字母处标记“√”请在答案A、B、C、D中选出一个正确的答案中选出一个正确的答案,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语言中,数字0X26是一个【】进制数。

A) 二B) 八C) 十D) 十六5. 设说明为int a[3]={1,2}, *p=a; 则*p与*(p+2)的值分别是【】。

A) 1和0B) 0和1 C) 1和2 D) 2和06. 设说明为int a=10; 执行语句a*=1+2+3; 后a的值是【】。

A) 15 B) 24 C) 33 D) 607. 为表示关系x≥y≥z,应使用C语言表达式【】。

A) (x>=y>=z) B) (x>=y)AND(y>=z) C) (x>=y)&&(y>=z) D) (x>=y)&(y>=z)8. 说明语句:int a[][3]={1,2,3,4,5,6,7,8,9}; 则a数组的行数为【】。

A) 不确定B) 1 C) 2 D) 39. 以下程序时,从键盘输入25,13,10<回车>,则输出结果是【】。

main() {int a1, a2, a3;scanf("%d,%d,%d", &a1, &a2, &a3);printf("a1+a2+a3=%d\n", a1+a2+a3);}A) a1+a2+a3=48 B) a1+a2+a3=25 C) a1+a2+a3=10 D) 不确定10. putchar函数可以向终端输出一个【】。

大一上学期C语言期末复习总结和模拟试题带答案

大一上学期C语言期末复习总结和模拟试题带答案

易错点C语言中易犯的错误对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。

看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考。

****************************************************************************************1。

书写标识符时,忽略了大小写字母的区别。

main(){int a=5;printf(”%d",A);}编译程序把a和A认为是两个不同的变量名,而显示出错信息.C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量名用大写,变量名用小写表示,以增加可读性.****************************************************************************************2.忽略了变量的类型,进行了不合法的运算。

main(){float a,b;printf(”%d",a%b);}%是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行”求余"运算。

****************************************************************************************3.将字符常量与字符串常量混淆。

char c;c=”a”;在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。

C规定以"\"作字符串结束标志,它是由系统自动加上的,所以字符串"a"实际上包含两个字符:'a’和’\’,而把它赋给一个字符变量是不行的。

****************************************************************************************4。

C语言常见复习题(选择填空)及参考答案

C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案一、选择题1.下述标识符中,()是合法的用户标识符。

A.A#CB.getchC.voidD.ab*2.在C语言中,字符型数据在内存中是以()形式存放的。

A.原码B.BCD码C.反码D.ASCII码3.以下选项中不合法的用户标识符是()。

A.abc.cB.fileC.MainD.PRONTF4.以下选项中不合法的用户标识符是()。

A.123B.printfC.Anbsp;D.Dim5.可以在C语言程序中用做用户标识符的一组标识符是()。

A.voidB.as-b3C.forD.2cdefine -123 -abc DoWORD If cas SIG6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。

(1)A.001 B.table_1 C.0_t D.k%Int t*.1 W10 point(2)A.Fast_ B.void C.pbl D.Fast+Big abs fabs beep(3)A.xy_ B.longdouble C.*p D.CHAR变量1 signed history Float7.()是构成C语言的基本单位。

A.函数B.过程C.子程序D.子例程8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。

(1).A.包含3个字符 B.包含2个字符C.包含1个字符D.无定值,说明不合法(2).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法(3).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法9.若x为int型变量,则执行以下语句后,x的值为x=6;x+=x-=x*xA.36B.-60C.60D.-2410.在C语言中,char 型数据在内存中是以()形式存储的。

A.原码B.补码C.ASCII码D.反码11.以下运算符中优先级最低的算符为(),优先级最高的为()。

(完整版)C语言各章节复习题(带答案)

(完整版)C语言各章节复习题(带答案)

一、C语言概述练习题选择1.一个C程序的执行是从。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。

A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。

A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。

A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。

A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。

A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件7.以下叙述正确的是。

A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。

(完整版)C语言基础练习题(含答案)

(完整版)C语言基础练习题(含答案)

目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。

(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。

A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。

A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。

A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。

A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。

A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。

A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。

A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。

A.scanf B.Void C._3com_ D.int9.一个C程序是由()。

c语言基础习题、复习题(含答案).doc

c语言基础习题、复习题(含答案).doc

《C语言设计》复习题一选择题1、以下说法中正确的是(C )。

C语言程序总是从main。

函数开始执行2、若已定义x和y为double类型,则表达式:x=l, y=x+^2的值是一C・C. 2.03、以下叙述正确的是口。

D.用do・・・while语句构成循环时,在while后的表达式为零时结束循环4、C程序是由)B.从Main函数开始5、设x、y、z和k都是int型变量,则执行表达式:x= (y=4, z=16, k=32)后,x 的值为C 。

C.326、设intb=2;表达式b/(b*2)的值是A ・A.07、表示关系X<=Y<=Z的C语言表达式为A .A.(X < =Y)&&(Y < =Z)8、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是典B.x=20,y=30,z=309、设A=3,B=4,执行printf("%d,%d",(A,B),(B,A));的输出是B .B.4,310、下面判断正确的是CC.char *s="china";等价于char *s;s="china";11、若有说明:inta[10];,则对a数组元素的正确引用是D.a[10-10]12在C语言中,int> char和short三种类型数据在内存中所占用的字节数D.由所用机器的机器字长决定13、C语言规定,函数返回值的类型是由必D.在定义该函数时所指定的函数类型所决定14、与y=(x>0?l:x<0?-l:0);的功能相同的if语句是AA.if(x > 0) y=l; else if(x < 0) y=-l; else y=015、执行语句:for(i=l;i++<4;)后;变量i的值是(C )C.516^语句while(!E);中的表达式!E等价于AA.E==017、假定a和b为int型变量,则执行以下语句后b的值为D.-418、对以下说明语句的宜确理解是Binta[10]={6,7,8,9,10};B.将5个初值依次赋给a[0]至a[4]19、以下不能对二维数组a进行正确初始化的语句是MC.inta[2][3]={{l,2},{3,4},{5,6}};20、在C语言中,一维数组的定义方式为:类型说明符数绢名DD.[整型常量]21、下列说法中正确的是oD.初始化值列表中的值的个数多于数组元素的22、若二维数组a有m列,则在a[i][j]前的元素个数为BB.i*m+j23、以下选项中,不能正确赋值的是工A.char sl[10];sl="Ctest";24、以下程序的输出结果是共B."BBB"25、设有数组定5C: char array [ ]="China";则数组array 所占的空间为£C.6个字节26、变量的指针,其含义是指该变量的典B.地址27、下面能正确进行字符串赋值操作的是MC.char*s;s="ABCDE";28、C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是A .A.单纯值传递29、C语言中A函数的递归调用。

《C语言》复习题2—带答案

《C语言》复习题2—带答案

《C语言》习题2一、单项选择题1、一个C程序的执行是从()A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束2、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是()A.3 B.0 C.-12 D.93、若有char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是( )。

A.cd\0e B.'c''d' C.cd D.cd e4、执行char str[10]=”Ch\nina”; strlen(str)的值是()A.5 B.6 C.7 D.95、组成C程序的基本单位是()A.函数B.标识符C.表达式D.语句6、设int类型的数据长度为2字节,则该类型数据的取值范围是()A.0至65536 B.0至65535C.-32767至32768 D.-32768至327677、在C语言中,逻辑值“真”是用()表示的。

A.预定义为真值的宏B.非零数C.正数D.非零整数8、C语言对于嵌套if语句规定else总是与()匹配。

A.与最外层的if B.与之前最近的ifC.与之前最近的不带else的if D.与最近的{ }之前的if9、数组定义char a[10]={'`a`,`b`,`c`}:包括了几个元素()A.3 B.9 C.4 D.1010、若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入形式为()A.12 34 B.12,34 C.1234 D.12:3411、以下程序的输出结果是()#include<stdio.h>void main(){char s[]="159",*p; p=s;printf("%c",*p++); printf("%c",*p++);}A. 15B. 16C. 12D. 5912、以下程序的输出结果是()。

(完整word)C语言基础练习题(含答案),推荐文档

(完整word)C语言基础练习题(含答案),推荐文档

目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。

(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。

A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。

A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。

A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。

A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。

A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。

A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。

A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。

A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。

C语言考试复习专用三套题附答案(1)

C语言考试复习专用三套题附答案(1)

《C语言程序设计》习题集习题一一、语言基础(共20分,每题2分)(二)说明语句char s=‘\t’,使s包含了几个字符?。

A)1 B)2 C)3 D)说明有错(三)设a=6,b=4,则表达式b*=a+3A)3 B)18 C)(四)若给定表达式(m)?a++:a--和等价。

A)m==0 B)m!=0 C)m=0 D)m=1(五)设有说明语句int a[10],则数组a包括了个数组元素。

A)1 B)9 C)10 D)20(六)以下函数test返回值类型为。

test(int x){ printf(“%f\n”,(float)x);}A)int B)float C)void D)不确定或错误二、阅读下列程序,写出运行结果(共18分,每题3分)[程序1]#include <stdio.h>void main( ){ int a=1,b=4,c=2; 运行结果: 1a=(a+b)/c;printf(“%d \n”,--a);}[程序2]void main ( ){ char c1=67; /*‘A’的ASCII码值为65 */if (‘A’ <=c1 && c1<=’Z’) 运行结果: 67,Dprintf(“%d,%c”,c1,c1+1);else printf(“%c”,c1); }[程序3]viod main ( ){ int a=0, n=5; 运行结果: 1,5,4,3,2,0for ( ; ; ){ a++; n--;printf(“%d,”,a);a=n;if (n==0) break;}printf(“%d”,a);}[程序4]main ( ){ int i, j; 运行结果: 1,2,4,8,16,32,64,128,256,512 static int a[10]={1,1,1,1,1,1,1,1,1,1};for (i=0;i<10;i++)for (j=0;j<i;j++)a[i]=a[i]+a[j];for (i=0;i<10;i++)printf(“%d,”,a[i]);}[程序5]int k=2;f (int m) 运行结果: 6,8{ m+=k;k+=m; 5,9printf(“%d,%d \n”,m,k++);}main ( ){ int i=4;for (i++);printf(“%d,%d \n”,i,k); }[程序6]void main ( ){ static int a[10],i; 运行结果: 1 3 5 7 9for (i=0;i<10;i++)a[i]=i+1;for (i=0;i<10;i=i+2)printf(“%d”,*(a+i));}三、阅读分析下列程序,在处填上适当的内容使程序(或函数)完整(共21分,每空3分)(一)以下程序输出所有大写字母和其对应的ASCII码值。

C语言练习题及答案

C语言练习题及答案

C语言练习题及答案以下是一些C语言练习题及其答案。

这些练习题旨在帮助初学者巩固C语言的基础知识,并提供了相应的解答。

每个练习题都具有一定的难度,涵盖了C语言的不同概念和语法规则。

通过完成这些练习题,读者能够提高自己的编程能力,并更好地理解C语言的使用。

练习题1:编写一个程序,计算并输出两个整数的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数: ");scanf("%d", &num1);printf("请输入第二个整数: ");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和是: %d\n", sum);return 0;}```练习题2:编写一个程序,接受用户输入的半径,计算并输出圆的面积和周长。

假设圆周率为3.14,使用浮点数进行计算。

```c#include <stdio.h>int main() {float radius, area, circumference;printf("请输入圆的半径: ");scanf("%f", &radius);area = 3.14 * radius * radius;circumference = 2 * 3.14 * radius;printf("圆的面积是: %.2f\n", area);printf("圆的周长是: %.2f\n", circumference);return 0;}```练习题3:编写一个程序,判断一个整数是否为奇数或偶数。

如果是奇数,则输出"奇数",否则输出"偶数"。

C语言基础学习小结(习题+总结)

C语言基础学习小结(习题+总结)

C语⾔基础学习⼩结(习题+总结)⼀、思考题。

1、你如何向别⼈解释清楚什么是编程、什么是计算机语⾔?2、什么是C语⾔?⼆、解答题。

1、⽤C语⾔编写程序:求任意两个整数的和。

如果是⼩数的话,要求输出和的时候保留两位⼩数。

(该题包含哪些知识点?)2、下列程序完成将输⼊的单个字符原样输出的功能。

#include”stdio.h”{char ch;ch=___________ ;putchar(______);}3、C语⾔源程序⽂件名的后缀为,经过编译后,⽣成⽂件的后缀为【】,经过连接后,⽣成⽂件的后缀为【】。

4、C语⾔中,字符型数据在内存中存储形式是【】。

5、执⾏语句printf(“%d”,’A’);后屏幕上显⽰为_______6、设int x=1;,则表达式(x&&1)= =(x%2)的值为 ______7、假设所有变量均为整型, 则表达式( a=5, b=2, a++, a+b ) 的值是_________。

8、C程序的基本编译单位是__________9、读程序写结果。

(1)main(){ int k=10; float a=3.5,b=6.7,c;c=a+k%3*(int)(a+b)%2/4;printf(“%f”,c); }(2)main(){ int x=10,y=10;printf("%d %d\n",x--,--y); } (3)void main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0: a++; break;case 1: b++; break; }case 2:a++; b++; break;case 3:a++; b++; }printf("\na=%d, b=%d", a, b);}10、已知圆的半径r=10,编程求圆的周长和⾯积。

C语⾔最重要的知识点总体上必须清楚的:1)程序结构是三种: 顺序结构、选择结构(分⽀结构)、循环结构。

《C语言程序设计基础》单元总结与练习题及答案

《C语言程序设计基础》单元总结与练习题及答案

《C语言程序设计》单元总结与练习题答案ﻬ单元一程序设计宏观认识单元总结提升本单元中,核心内容有C语言程序框架结构、程序的构成和程序开发过程。

通过本单元的学习,我们应该知道:1.C语言程序最基本的程序框架由两部分构成,分别是:(1)编译预处理(2)函数组2.C程序最大的特点就是所有的程序都是用函数来装配的,函数是构成C语言程序的基本单位,函数包括主函数、库函数和自定义函数。

函数的一般结构形式为:函数返回值类型 函数名(形式参数) //函数首部ﻩ{ 说明语句; //函数体可执行语句; }3.标识符是用来标识程序中的某个对象名字的字符序列。

C 语言把标识符分为三类,即关键字、预定义标识符、用户自定义标识符。

对于用户自定义标识符的命名C 语言规定:(1) 所有的用户标识符必须先定义后使用;(2) 用户标识符由字母(A~Z,a~z)、数字(0~9)、下划线“_”组成,并且首字符不能是数字 ;(3) 区分大小写;(4)不能用关键字作为用户自定义标识符,通常不使用预定义标识符作为用户自定义标识符。

4.理论上讲,程序开发过程分为四个步骤,分别为:(1) 编辑源程序(2) 编译源程序,生成目标程序(3) 连接目标程序及其相关模块,生成可执行文件(4) 运行可执行文件5.简单描述使用VC++6.0开发应用程序的步骤:如图所示:总之,通过本单元的学习,应该掌握C 语言程序框架结构和程序开发过程,还要对C语言程序设计的知识脉络有一定的了解。

单元练习一.选择题1.构成C 语言程序的基本单位是( )。

A.框架 ﻩB .预处理 C.函数 ﻩD.语句2.在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()。

A.编辑B.编译 C.连接D.运行3.关于主函数,下列说法不正确的是()。

A.一个完整的C语言应用程序有唯一的主函数B.主函数的名称只能是mainC.主函数可以被其他自定义函数调用D.C语言程序的运行从主函数开始,以主函数为核心展开4.关于标识符,下列说法不正确的是( )。

完整版《C语言程序设计》复习计划参考

完整版《C语言程序设计》复习计划参考

第一章【随堂练习1-2】1.下面哪些表记符属于合法的用户自定义表记符:Main 、void 、_num 、 my$、 a* 、N4、3m 、 a-2答:合法的用户自定义表记符是:Main 、 _num、 N42.结合【例】指出程序代码中所用到的表记符哪些是重点字,哪些是预定义表记符,哪些是用户自定义表记符。

答:重点字: void、 int预定义表记符:include、 main 、 printf 、 scanf用户自定义表记符:a、 b、 c3.解析【例】中函数的构造,包括函数首部(函数返回值种类、函数名、形式参数)、函数体语句(说明语句、可执行语句)。

答:函数首部:void main( ) ,其中函数返回值种类为void、函数名为main 、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c; ,其他为可执行语句。

3.表记符是用来表记程序中的某个对象名字的字符序列。

C 语言把表记符分为三类,即重点字、预定义表记符、用户自定义表记符。

关于用户自定义表记符的命名 C 语言规定:(1)所有的用户表记符必定先定义后使用;(2)用户表记符由字母( A~Z,a~z)、数字( 0~9)、下划线“ _”组成,而且首字符不能够是数字;(3)区分大小写;(4)不能够用重点字作为用户自定义表记符,平时不使用预定义表记符作为用户自定义表记符。

4.理论上讲,程序开发过程分为四个步骤,分别为:( 1)编写源程序( 2)编译源程序,生成目标程序( 3)连接目标程序及其相关模块,生成可执行文件( 4)运行可执行文件一.单元练习一.选择题1.组成 C 语言程序的基本单位是()。

A .框架B .预办理C.函数 D .语句2.在程序开发过程中,把文本文件格式源程序转变为二进制格式的目标程序的过程称之为()。

A.编写B.编译C.连接D.运行3.关于主函数,以下说法不正确的选项是()。

A.一个完满的 C 语言应用程序有唯一的主函数B.主函数的名称只能是mainC.主函数能够被其他自定义函数调用D. C 语言程序的运行从主函数开始,以主函数为核心张开4.关于表记符,以下说法不正确的选项是()。

c语言习题答案和练习题答案

c语言习题答案和练习题答案

c语言习题答案和练习题答案C语言习题答案和练习题答案在学习C语言的过程中,练习题和习题答案是非常重要的。

通过不断地练习和查看答案,我们可以加深对C语言知识的理解,并提高自己的编程能力。

下面我们将介绍一些常见的C语言习题和练习题答案,希望能对大家的学习有所帮助。

1. 编写一个程序,输入两个整数,然后输出它们的和。

```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个程序,输入一个整数,判断它是奇数还是偶数。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数\n", num);} else {printf("%d是奇数\n", num);}return 0;}```3. 编写一个程序,输入一个字符,判断它是大写字母、小写字母还是数字。

```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z') {printf("%c是大写字母\n", ch);} else if (ch >= 'a' && ch <= 'z') {printf("%c是小写字母\n", ch);} else if (ch >= '0' && ch <= '9') {printf("%c是数字\n", ch);} else {printf("%c是其他字符\n", ch);}return 0;}```以上是一些常见的C语言习题和练习题答案,希望对大家的学习有所帮助。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单项选择题1.(A)是构成 C 语言程序的基本单位。

A 、函数B 、过程C、子程序D、子例程2. C语言程序从C开始执行。

A) 程序中第一条可执行语句B) 程序中第一个函数C)程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的是(C)。

A 、C 语言程序总是从第一个定义的函数开始执行B 、在C 语言程序中,要调用的函数必须在main( ) 函数中定义C、 C 语言程序总是从main( ) 函数开始执行D、 C 语言程序中的main( ) 函数必须放在程序的开始部分4.下列关于 C 语言的说法错误的是(B)。

A)C 程序的工作过程是编辑、编译、连接、运行B)C 语言不区分大小写。

C)C 程序的三种基本结构是顺序、选择、循环D)C 程序从 main 函数开始执行5.下列正确的标识符是(C)。

A.-a1B.a[i]C.a2_iD.int t6.下列 C 语言用户标识符中合法的是( B )。

A)3ax B)x C)case D)-e2E)union7.下列四组选项中,正确的 C 语言标识符是(C)。

A)%x B)a+b C )a123D)1238、下列四组字符串中都可以用作 C 语言程序中的标识符的是( A )。

A 、print_3d db8aBcB 、 I\am one_half start$it3paiC、 str_1Cpp pow while D 、 Pxq My->book line#His.age9.C语言中的简单数据类型包括(D)。

A 、整型、实型、逻辑型B 、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型 D 、整型、实型、字符型10. 在C语言程序中,表达式5%2的结果是C。

A)2.5B)2C)1D)311.如果int a=3,b=4;则条件表达式"a<b? a:b"的值是__A __。

A) 3B) 4C) 0D) 112 .若int x=2,y=3,z=4则表达式x<z?y:z的结果是( B).A)4B)3C)2D)0E)113 . C 语言中,关系表达式和逻辑表达式的值是(A)0B)0 或 1C)1B)D) ‘T’或’F’。

14.下面 ( D)表达式的值为 4.A) 11/3B) 11.0/3C) (float)11/3D) (int)(11.0/3+0.5)15. 设整型变量a=2 ,则执行下列语句后,浮点型变量 b 的值不为0.5 的是(B)A.b=1.0/aB.b=(float)(1/a)C.b=1/(float)aD.b=1/(a*1.0)16. 若“ int n; float f=13.8;”,则执行“n=(int)f%3”后, n的值是( A )A.1B.4C.4.333333D.4.617.以下对一维数组 a 的正确说明是:DA)char a ( 10);B) int a[];C)int k =5 , a[k] ; D )char a[3]={ ‘a’,’b’,’c’};18. 以下能对一维数组 a 进行初始化的语句是: (C)A. int a[5]=(0,1,2,3,4,)B. int a(5)={}C. int a[3]={0,1,2}D. int a{5}={10*1}19. 在C语言中对一维整型数组的正确定义为D。

A)int a(10);B)int n=10,a[n];C)int n;a[n];D)#define N 10int a[N];20 、已知:int a[10];则对 a 数组元素的正确引用是(D)。

A 、a[10]B、 a[3.5]C、 a(5) D 、 a[0]21. 若有以下数组说明,则i=10;a[a[i]]元素数值是(B)。

int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.10B.9C.6D.522. 若有说明:int a[][3]={{1,2,3},{4,5},{6,7}};则数组 a 的第一维的大小为: ( B)A. 2B. 3C. 4D. 无确定值5 7D)36923. 对二维数组的正确定义是(C)A.int a[ ] [ ]={1,2,3,4,5,6};C.int a[ ] [3]={1,2,3,4,5,6};B.int a[2] [ ]={1,2,3,4,5,6};D.int a[2,3]={1,2,3,4,5,6};24 .已知int a[3][4];则对数组元素引用正确的是__C___25.CA)a[2][4]B)a[1,3]语言中函数返回值的类型是由C)a[2][0]AD)a(2)(1)决定的 .A) 函数定义时指定的类型B) return语句中的表达式类型C) 调用该函数时的实参的数据类型D) 形参的数据类型26.在 C 语言中,函数的数据类型是指( A )A 函数返回值的数据类型 B. 函数形参的数据类型C 调用该函数时的实参的数据类型 D. 任意指定的数据类型27.在函数调用时,以下说法正确的是( B )A.函数调用后必须带回返回值B.实际参数和形式参数可以同名C.函数间的数据传递不可以使用全局变量D.主调函数和被调函数总是在同一个文件里28. 在 C 语言中,表示静态存储类别的关键字是: (C)A) auto B) register C) static D) extern29 .未指定存储类别的变量,其隐含的存储类别为(A)。

A)auto B)static C)extern D)register30.若有以下说明语句:struct student{ int num;char name[ ];float score;}stu;则下面的叙述不正确的是:( D)A. struct是结构体类型的关键字B. struct student是用户定义的结构体类型C. num, score都是结构体成员名D. stu 是用户定义的结构体类型名31.若有以下说明语句:struct date{ int year;int month;int day;}brithday;则下面的叙述不正确的是__ C___.A)struct 是声明结构体类型时用的关键字B)struct date 是用户定义的结构体类型名C)brithday 是用户定义的结构体类型名D)year,day 都是结构体成员名32. 以下对结构变量stul 中成员 age 的非法引用是Bstruct student{ int age ;int num ;}stu1,*p ;p=&stu1 ;A) stu1.age B) student.age C) p->age D) (*p).age33.设有如下定义:struck sk{int a;float b;}data;int *p;若要使 P A) p=&a;指向data 中的 a 域,正确的赋值语句是B) p=data.a; C) p=&data.a;CD)*p=data.a;34.设有以下说明语句:typedef struct stu{ int a; float b;} stutype;则下面叙述中错误的是(D)。

A、 struct 是结构类型的关键字B、struct stu是用户定义的结构类型C、 a 和 b 都是结构成员名D、 stutype35 .语句 int *p;是用户定义的结构体变量名说明了C。

A)p是指向一维数组的指针B)p是指向函数的指针,该函数返回一int型数据C)p是指向int型数据的指针D)p是函数名,该函数返回一指向int型数据的指针36 .下列不正确的定义是(A)。

A. int *p=&i,i;B.int *p,i;C. int i,*p=&i; D.int i,*p;37. 若有说明: int n=2,*p=&n,*q=p,则以下非法的赋值语句是: (DA )p=q B) *p=*q C ) n=*q D) p=n38 .有语句: int a[10],; 则B是对指针变量p 的正确定义和初始化。

A)int p=*a;B)int *p=a;C)int p=&a;D)int *p=&a;39. 若有说明语句“int a[5],*p=a; ” ,则对数组元素的正确引用是( C ) 。

A.a[p]B.p[a]C.*(p+2)D.p+2)40.有如下程序int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;则数值为9 的表达式是BA) *P+9B) *(P+8)C) *P+=9D) P+841.在 C 语言中,以D作为字符串结束标志A)’\n’B) ’’C)’0’D)’\0’42.下列数据中属于“字符串常量”的是(A)。

A.“ a ”B.{ABC}C. ‘ abc\0 ’D. ‘ a’43.已知 char x[]="hello", y[]={'h','e','a','b','e'};,则关于两个数组长度的正确描述是 B .A) 相同B)x 大于 y C)x小于 y D) 以上答案都不对44.下面各函数中能实现打开文件功能的是AA) fopen B) fgetc C) fputc D) fclose45.下列语句中,把变量 fp 说明为一个文件型指针的是(A) 。

A) FILE*fp;B) FILE fp;C) file*fp;D) file fp;46 .以读写方式打开一个已有的文本文件file1, 并且 FILE*fp ,下面 fopen 函数正确的调用方式是 (B )。

A.fp=fopen( “file1 ”,“r”)B.fp=fopen( “file1 ”,“r+ ” )C.fp=fopen( “file1 ” ,“ rb ” )D.fp=fopen( “file1 ”,“ w ”)二、读程序基本输入输出及流程控制1.#include <stdio.h>main(){ int a=1,b=3,c=5;if (c==a+b)printf("yes\n");elseprintf("no\n");}运行结果为:no2.#include <stdio.h>main(){ int a=12, b= -34, c=56, min=0; min=a;if(min>b)min=b;if(min>c)min=c;printf("min=%d", min);}运行结果为:min=-343.#include <stdio.h>main(){ int x=2,y= -1,z=5;if(x<y)if(y<0)z=0;elsez=z+1;printf( “ %dn” ,z);}运行结果为:54.#include <stdio.h>main(){ float a,b,c,t;a=3; b=7;c=1; if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f",a,b,c);}运行结果为: 1.00, 2.00,7.005.#include< stdio .h >main ( ){ float c=3.0 , d=4.0;if ( c>d ) c=5.0;elseif ( c==d ) c=6.0;else c=7.0;printf (“ %n.1f” ,c ) ;}运行结果为:7.06.#include <stdio.h>main(){int m; scanf("%d",&m); if (m >= 0){if (m%2 == 0)printf("%d is a positive even\n", m);else printf("%d is a positive odd\n", m);} else{if (m % 2 == 0)printf("%d is a negative even\n", m);else printf("%d is a negative odd\n", m); }}若键入- 9 ,则运行结果为:-9 is a negative odd7.#include <stdio.h>main(){ int num=0;while(num<=2){ num++; printf("%d\n",num); }}运行结果为:1238.#include <stdio.h>main( ){ int sum=10,n=1;while(n<3){sum=sum-n;n++; }printf(“ %d,%d” ,n,sum);}运行结果为:3,79.#include <stdio.h>main(){ int num,c;scanf("%d",&num);do {c=num%10;printf("%d",c);}while((num/=10)>0); printf("\n");}从键盘输入23 ,则运行结果为:3210#include <stdio.h>main(){ int s=0,a=5,n;scanf("%d",&n);do{ s+=1;a=a-2; }while(a!=n);printf("%d , %d\n",s,a);}若输入的值1,运行结果为:2,1#include "stdio.h"main(){char c;c=getchar();while(c!='?'){putchar(c);c=getchar(); }}如果从键盘输入abcde ? fgh (回车)运行结果为:abcde12 .#include <stdio.h>main(){ char c;while((c=getchar())!=’ $’){ if(‘ A’ <=c&&c<=‘Z’)putchar(c);else if( ‘ a’ <=c&&c<=‘ z’ )putchar(c-32);} }当输入为ab*AB%cd#CD$时,运行结果为:ABABCDCD13.#include <stdio.h>main(){ int x, y =0;for(x=1;x<=10;x++){ if(y>=10)break;y=y+x;}printf( “ %d %d” ,y,x);}运行结果为:10514.#include<stdio.h>main( ){ char ch;ch=getchar( );switch(ch){ case ‘ A’ : printf(“ %c” ,’ A’ );case‘ B’default: printf(: printf(“ %c” ,’ B’ ); break;“n%s” , ” other ” );} }当从键盘输入字母 A 时,运行结果为:AB#include <stdio.h>main( ){ int a=1,b=0 ;scanf( “ %d” ,&a);switch(a){ case 1: b=1 ; break ;case 2: b=2 ; break ;default : b=10;}printf("%d ", b);}若键盘输入5,运行结果为:1016.#include <stdio.h>main()_{ char grade=’ C’;switch(grade){ case‘ A’ : printf(“ 90n” );case ‘ B’ : printf(“ 80n” );case ‘ C’ : printf(“ 70n” );case ‘ D’ : printf(“ 60n” ); break;case ‘ E’ : printf(“n”<60);default : printf(“ error!n” );}}运行结果为:70-8060-7017.#include <stdio.h>main(){ int y=9;for(;y>0;y- -)if(y%3==0){ printf(%d ”,--y);continue;}}运行结果为:852#include <stdio.h>main(){ int i,sum=0;i=1;do{ sum=sum+i; i++; }while(i<=10);printf( “ %d” ,sum);}运行结果为:5519.#include <stdio.h>#define N 4main(){ int i;int x1=1,x2=2;printf("\n");for(i=1;i<=N;i++){ printf("%4d%4d",x1,x2);if(i%2==0)printf("\n");x1=x1+x2;x2=x2+x1;}}运行结果为:1235813213420#include <stdio.h>main( ){ int x, y;for(x=30, y=0; x>=10, y<10; x--, y++)x/=2, y+=2;printf( “ x=%d,y=%dn” ,x,y);}运行结果为:x=0,y=1221.#include <stdio.h> #define N 4main( ){ int i,j;for(i=1;i<=N;i++){ for(j=1;j<i;j++)printf(" "); printf("*");printf("\n");}}运行结果为:****数组1.#include <stdio.h>main(){ int i, a[10];for(i=9;i>=0;i--)a[i]=10-i;printf(“ %d%d%” ,a[2],a[5],a[8]); }运行结果为:8522.#include <stdio.h>main(){ int i,a[6];for (i=0; i<6; i++)a[i]=i;for (i=5; i>=0 ; i--)printf("%3d",a[i]);}运行结果为:5 4 3 2 103.#include <stdio.h>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);}运行结果为:21#include <stdio.h>int m[3][3]={{1},{2},{3}};int n[3][3]={1,2 ,3};main( ){ printf( “%d, ”, m[1][0]+n[0][0]);printf( “%d\n ”,m[0][1]+n[1][0]);}运行结果为:3,05.#include <stdio.h>main(){ int i;int x[3][3]={1,2,3,4,5,6,7,8,9};for (i=1; i<3; i++)printf("%d",x[i][3-i]);}运行结果为:6 86.#include <stdio.h>main( ){ int n[3][3], i, j;for(i=0 ; i<3 ; i++ ){for(j=0 ; j<3 ; j++ ){n[i][j]=i+j;printf( “%d”, n[i][j]);}printf( “n” );}}运行结果为:0 121 232 34#include <stdio.h>main(){char diamond[][5]={{‘’,’’,’*’},{‘‘,’*’,’’,’*’}, { ‘*’,’’,’‘,’‘,’*’},{ ‘’,’*’,’’,’*’},{ ‘’,’’,’*’}};int i,j;for(i=0;i<5;i++){for(j=0;j<5;j++)printf( “%c ”,diamond[i][j]);printf( “\n ”);}} 注:“_”代表一个空格。

相关文档
最新文档