C语言复习题答案
- 格式:doc
- 大小:122.50 KB
- 文档页数:20
01计算机本身最擅长的能力是?A、推理B、想像C、重复D、分析正确答案: C、重复。
02 计算机(CPU)能够直截了当运行人类编写的程序A、√B、×正确答案: B、×、03编程语言是与计算机交谈的语言A、√B、×正确答案: B、×。
04 关于C语言,以下讲法错误的有:A、C语言是与Unix操作系统一同发展起来的B、C语言不能写图形界面的软件C、C语言一般是编译执行的D、C语言诞生于1970年代正确答案: B、C语言不能写图形界面的软件、06 IDE的中文翻译是什么?正确答案是:集成开发环境、07 给定:int a,b; 以下哪些scanf的使用是正确的?A、scanf("%d”,&a); scanf(”%d",&b);B、scanf(”%d %d”, &a, &b);C、scanf("%d, %d", &a,&b);D、scanf("%d%d”, a, b);正确答案: A、scanf("%d”,&a); scanf(”%d", &b);。
B、scanf(”%d%d", &a, &b);、C、scanf(”%d,%d”,&a,&b);、08 以下哪些是有效的变量名?A、mainB、4everC、monkey—kingD、__int正确答案:A、main。
D、__int。
09给定:inta,b; scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?A、1 2B、1,2C、1(回车)2D、1、2正确答案:A、1 2。
C、1(回车)2、10给定以下代码段:inta,b=0;则a的初始值是0A、√B、×正确答案: B、×、11写出下式的运算结果:10/3、0*3 正确答案是:10、0。
12写出下式的运算结果:10/3*3、0正确答案是:9、0。
1.编程计算球的体积(V=34πr3),要求半径通过键盘输入,π的值定义为符号常量PI ,输出结果保留两位小数,输入前和输出时要求给出含义明确的提示信息。
#include<stdio.h>main(){float r,v;scanf(“%f ”,&r)v=4/3*PI*r*r*r;printf(“v is %.2f ”,v);}2.输入任意一个3位数,将其各位数字反序输出(例如输入123,输出321)。
#include<stdio.h>main(){int n,s,g,b;printf(“please input n:\n ”);scanf(“%d ”,&n);g=n%10;s=n/10%10;b=n/100;printf(“%d”,100*g+10*s+b);}3.输入三角形的边长,求三角形的面积(面积=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2)。
#include <stdio.h>main(){int a,s,c,b;printf(“please input a,b,c:”);scanf(“%d,%d,%d”,&a,&b,&c);while(a+b)<=c||(a+c<=b||(b+c)<=a);{printf(“please input a,b,c:”);scanf(“%d,%d,%d”,&a,&b,&c);}s=(a+b+c)/2;area=sqrt(s*(s-a)(s-b)(s-c));printf(“area is:%d\n”,area);}4. 输入3个字符,反向输出这3个字符和它们的ASCII码。
#include <stdio.h>main(){char ch1,ch2,ch3;printf("please input ch1&ch2&ch3:");scanf(“%c%c%c”,&ch1,&ch2,&ch3);printf(“%c\t%c\t%c\n”,ch3,ch2,ch1);printf(“%d\t%d\t%d\n”,ch3,ch2,ch1)}5.编程计算圆的面积(S=πr2),要求半径通过键盘输入,π的值定义为符号常量PI,输出结果保留两位小数,输入前和输出时要求给出含义明确的提示信息。
c语言期末复习试题附答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项不是合法的数据类型?A. intB. floatC. doubleD. character答案:D2. 在C语言中,下面哪个选项是合法的变量名?A. 2abcB. abc12C. abc_12D. abc&12答案:B3. 下面哪个选项不是C语言的运算符?A. +C.D. %答案:D4. 在C语言中,下面哪个选项表示取模运算?A. %B. /C.D. ^答案:A5. 下面哪个选项是C语言中的关系运算符?A. ==B. !=C. >D. <答案:A、B、C、D6. 下面哪个选项是C语言中的逻辑运算符?B. ||C. !D. &答案:A、B、C7. 下面哪个选项是C语言中的赋值运算符?A. =B. +=C. -=D. =答案:A、B、C、D8. 下面哪个选项不是C语言中的控制语句?A. ifB. whileC. do-whileD. for答案:D9. 在C语言中,下面哪个选项表示循环不变量?A. 初始化表达式B. 循环条件C. 循环体D. 步进表达式答案:D10. 下面哪个选项是C语言中的递归调用?A. function(function());B. function();function();C. function(function());function();D. function();function(function());答案:A二、填空题(每题2分,共20分)1. C语言中,一个整型数据占____个字节。
答案:42. C语言中,一个浮点型数据占____个字节。
答案:43. 在C语言中,一元运算符“++”和“--”的优先级高于二元运算符“+”、“-”、“”、“/”、“%”。
答案:正确4. 在C语言中,关系运算符“==”和“!=”的优先级高于“<”、“>”、“<=”、“>=”。
一、判断题1. 格式字符%md中的m不能为负。
(×)2. 实际上,可以用顺序、分支、循环三种结构构造任何算法。
( )3. printf("%d",sizeof(1234));其结果是4。
(×)4. 在C语言中,任何一个表达式的最后加上一个分号就构成一个合法的语句。
( )5. 下面程序执行结果是32768。
(×)main( ){int a,b;printf("%d\n",b=(a=32767,a+1));}二、单选题1. 下述程序的输出结果是(B )#include <STDIO.H>void main(){int a,b,c=241;a=c/100%9;b=-1&&-1;printf("%d,%d",a,b);}2. 若有定义:int x,y; char a,b,c;并有以下输入数据:x=1 2 A B C<CR>,则能给x赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是(D )A)scanf("x%d y=%d",&x,&y);a=getch();b=getch();c=getch();B)scanf("x=%d%d",&x,&y);a=getch();b=getch();c=getch();C)scanf("x=%d%d%c%c%c",7x,&y,&a,&b,&c); D)scanf("x=%d%d%c%c%c%c%c",&x,&y,&a,&b,&b,&c, &c);3. 已有定义double d,f;数据的输入方式为:3.45<CR> 1.2<CR>根据定义和数据的输入方式,输入函数调用语句的正确形式为(A )A)scanf("%lf%lf",&d,&f) B)scanf("%f%f",&d,&f)C)scanf("3.2f%3.1f",&d,&f)D)scanf("%3.2lf%3.1lf",&d,&f)4. 如下程序: #include <STDIO.H>void main(){ int m,n,k;m=(n=4)+(k=10-7);printf(“m=%d\n”,m);}运行后m的值为( C )。
复习A:一、单项选择题1、如果要把常量327存入变量a中,a不能定义的类型是哪一个? ( )A)int B)char C)long D)float2、若x 为unsigned int 型变量,则执行下列语句后x值为()x = 65535;printf(“%d\n”,x);A)65535 B)1 C)无定值D)-13、有以下程序main(){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf(″%d,%d\n″,k,m);}程序运行后的输出结果是()A)0,0 B)0,1 C)1,0 D)1,14、在C语言中,如果下面的变量都是int类型,则输出的结果是()。
sum=pad=5; pAd=sum + + ,pAd + +, + + pAd;printf("%d\n",pad);A) 7 B) 6 C) 5 D) 45、以下程序的输出结果是()。
main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}A)1 B)0 C)非0的数D)-16、当执行以下程序段时()。
x=-1;do{x=x*x;}while(!x);A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误7、全局变量的存储类型可以定义为()。
A)auto或static B)extern或registerC)auto或extern D)extern或static8、定义全局变量时,若变量的的存储类别缺省,则默认的存储类型是()。
A)auto B)registerC)extern D)static9、已知:int a, x; 则正确的赋值语句是()。
A)a=(a[1]+a{2})/2; B)a*=*a+1; C)a=(x=1, x++, x+2); D)a="good";10、已知:int a, *p=&a; 则下列函数调用中错误的是()。
一、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语言常见复习题及参考答案一、选择题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语言复习题及参考答案一、单项选择1、以下叙述正确的是:__B__。
A)C语言的源程序不必通过编译就可以直接运行。
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C)C语言源程序经编译形成的二进制代码可以直接运行。
D)C语言中的函数不可以单独进行编译。
2、以下4个用户定义标识符中,全部合法的一组是__A__。
A)_main enclude sin B)if –max turbo C)txt REAL 3COM D)int k_2 _001 3、以下不能定义为用户标识符的是_D__。
A)scanf B)Void C)_3com D)int4、C语言中用于结构化程序设计的3种基本结构是__A__。
A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-whileD)if、for、continue5、为解决某一特定问题而设计的指令序列称为__C__。
A)文档B)语言C)程序D)系统6、用高级程序设计语言编写的程序称为__C__。
A)目标程序B)可执行程序C)源程序D)伪代码7、能将高级语言编写的源程序转换成目标程序的是__B__。
A)编辑程序B)编译程序C)驱动程序D)链接程序8、下列叙述中,正确一条是__C__。
A)计算机语言中,只有机器语言属于低级语言。
B)高级语言源程序可以被计算机直接执行。
C)C语言属于高级语言。
D)机器语言是所用机器无关的。
9、以下符合C语言语法的实型常量是__C__。
A)1.2E0.5B)3.14159E C).5E-3D)E1510、下面叙述正确的是__A___。
A)C程序中注释部分可以出现在程序中任何合适的地方。
B)花括号“{”和“}”只能作为函数体的定界符。
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名。
D)分号是C语句之间的分隔符,不是语句的一部分。
11、设有以下定义:int a=0; double b=1.25; char c=’A’;#define d 2则下面语句中,错误是__D__。
复习题(一)1。
用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。
【答案】编译目标2。
下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。
【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。
7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。
【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。
c语言程序设计教程(第2版)参考答案习题11-1 单选题1~5 BBBAC1-2填空题1. 函数2. 主函数main(),主函数main()3. 主函数main()4.函数首部,函数体5.{,}6.顺序结构,选择结构,循环结构7. .c, .obj,.exe第2章2.1 单选题1~5 DBDCA6~10 DCABA 11~15CADBD 16~20CAAB C21~25ADAAA 26~30ACBAC 31~35BADDA 36~40BBCCC41~45BDABA 46~49ABBB2.1填空题1.2.000000ﻩ2.1,0.53.9,24.65.100,d6.(1)20(2)0(3)607. (1)10,6,4 (2)6,9,15 (3)3,60,838.559.11 6 410.511.double12..整型字符型实型枚举类型13.数据类型数据类型14.字母数字下划线字母下划线15.单精度双精度16.变量初始化17. 双引号18. ’\019. x=3.600000,i=3习题33-1选择题1-5BDABC 6-10ADCAC 11-15BBBCC16-20 CDCDA 21-25 CACAA26-29BCBA3-2 填空题1. 32.02613.0x104.2,1互换a,b的值5.6.66.–0037. 5.0,4,c=3<Enter>8.i=10,j=20<Enter>9.(1)65(2) 65,A(3) 56.123400,123.456001(4) 3.141600(5)8765.432(6) 5.864000e+002(7)3.141600e+000(8) 3.1416(9) 8765(10) 3.1416,8765.4310.a=2 b=5x=8.8 y=76.34c1=65 c2=9711.B6612.n1=%d\nn2=%d\n13. 1214. 1115.25 213716.1003017. 1B18.8819.220.00000020 67 G习题44-1单选题1~5AADAD6~10ACBBB11~15BADAD 16~20BADBA21~25CDBDD26~30DCDCA 31~35DAACB 36~40BDBAD 41~42AA4-2填空题1. 12.(1) a>0 || b>0 ﻩﻩ(2)x>0 && x<=10(3) a==1.5 &&b==1.5 && c==1.5 ﻩ(4)p<a || p<b ||p<c3.(1)0 (2)1 (3)1ﻩ(4)0 (5)14. (max=a>b?a:b)>c?max:c5.-46.17.5,0,38. (1) (a==0) (2) (b==0)ﻩ(3) (disc<0)9. 110 110. 1020011. yes12.X==013.x=1 y=0x=214.ch>=’A’&& c<=’Z’ch=ch-3215.-116.01习题55-1单选题11~15 DBCBC16-21 DBCBCD1~5CDABA ﻩ6~10 ABDDBﻩ5-2填空题1.202.3333.(1)i<10(2) j%3!=04.(1) flag*(float)k/(k+1) (2)flag=-flag5.(1) max=x(2) x!=-1 (3)scanf("%d", &x)6.07.228.t*10习题66-1单选题1~5CBBAD ﻩ6~10DBCCDﻩ11~15DCABC 16~20ABBBC21~25CCBAA 26~30ABBDB 31~35BDADD36~40ADCA A41~43BBB6.2 填空题1.1202.x3. 3,2,2,34. fac/i5. 8,176.97. 1.0/(i*i)8. fun-in:30,20,10fun-end:1015,35,105010,20,309.01234510.9363611.–f12. 010 1 11 2 1213. 4 3 3 414.x15.void fun(doubleb[ ])16.(1) j(2) str[j-117. A+B=918.24619. 1:a=1,b=12:a=1,b=220. x=9 x=10 21. 9 22.777习题77-1单选题1-5 DB CCB 6-8 BDCAD7-2填空题1. c 2. 60 3. 1000 10 4. 16 5. 816. 100, 144习题88-1单选题1~15 CA DA C ﻩ 6~10 CCDAB ﻩ 11~15 CB BCD 16~20CAABA21~25 DA CDA 26~30BD CAD 31~35ADACD 36~37AC8-2填空题1 (1)2345 (2) 10010 (3) Qu ickC (4) 2. (1) j+=2 (2) a[i]>a[j] 3. (1) r+b[k ] (2) *x 4. 1 3 7 15 5. &a[i]a [i] 或 *(a +i) 6. m -1,n-17. (1)i <10 (2)a [i]-a[i -1]10000 0100000100 00010 00001(3)i%3= =08. (1)a[i ][j]+b [i][j] (2)printf(“\n ”) 9.0习题99-1单选题1~5 DDACB ﻩ6~10 ACBAD 11~15 CDBCC16~20 DADA C 21~25 A CDAC 26~30 DDDAA 31~33 AB C9-2填空题1 . 2,12. 10#30#3. FOUR ,O4. 605. 49 6. 2 7. 28. 7 5 3 1 9 9. 15 10. 11.12. (1) *x (2) t13. (1) '\0'或0 (2) n++或n+=1或n=n+1 14. 024习题1010-1单选题1-5 CDBBBﻩ 6-10 BBBA D ﻩ11-15 CCBDA 16-20BDCBB1,1,1, 1,1 3,3,3, 3,31 0 0 0 10 1 0 1 00 0 1 0 00 1 0 1 01 0 0 0 121-25CDDCD 26-30CADBB10-2填空题1.所有结构体成员所占存储空间的总和2.与占用存储空间最大的那个成员相等3. (1)结构体(2) 3 (3)sa.a (4) 9 (5)psa=&sa 4.805.struct node6. 07. 2 38.229. 10,x10.2,3习题1111-1单选题1-6BADDAA11-2填空题1. 3d3d3302.(1)28(2)20 (3)0 (4)-93. (1)251 (2) 42 (3)209(4)–295(5) 8484. 2 4 6习题1212-1单选题1-5 BCDCA6-10ADABC 11-14BDDA 12-2 填空题1. rewind(文件指针)2."d1.dat","rb"3.stdin4.文本文件二进制文件5.(1)"w" (2) str[i]-32 (3) "r"6.fopen7.Hell8. (1)"r" (2)fgetc(fp)(3)time++9.文本文件二进制文件10.非零值0ﻬ习题1212-1单选题1-5BCDCA 6-8ADA12-2 填空题1. rewind(文件指针)2."d1.dat","rb"3.stdin4.文本文件二进制文件5. (1)"w"(2)str[i]-32(3)"r"6. fopen7.Hell8. (1)"r"(2) fgetc(fp)(3) time++ﻬ实验篇实验1熟悉Visual C++6.0可视化集成开发环境略实验2顺序结构程序设计略实验3 选择结构程序设计(1)略(2)略(3)#include "stdio.h"main(){ﻩfloat a,b;ﻩprintf("Please input the data a and b:\n");ﻩscanf("%f%f",&a,&b);ﻩif(a>10.0)ﻩa=a-10.0;elseﻩ{a=a+10.0;ﻩﻩif(b>a);elseﻩb=a-b;}ﻩﻩprintf("a=%f, b=%f\n",a,b);ﻩ}实验4循环结构程序设计(1)略(2)略(3)编写一个程序,打印输出半径为1~10的圆的面积,若面积为40~90则予以打印,否则,不予打印。
#include "stdio.h"main(){float r=0,area=0;while(r<10&& area<90){ if(area>40)ﻩprintf("r=%f, area=%f\n",r,area);r=r+1;area=3.1415926*r*r;}}(4)从键盘输入一批整数,统计其中不大于100的非负数数值的个数。
(用while循环实现。
)#include"stdio.h"main(){ int x,i=0;scanf("%d",&x);while(x>=0){ if(x<=100)i++;scanf("%d",&x);}printf("thenumberis:%d\n",i);}(5)用π/4=1-1/4+1/5-1/7+1/9-…公式求π的近似值,直到最后一项的绝对值小于10-4为止。
#include "math.h"main(){ double k=1.0,n=1.0,pi=0,t=1.0;while (fabs(t)>=1e-4){pi=pi+t;n=n+2.0;k=-k;t=k/n;}pi=pi*4;printf("pi=%lf\n",pi);}(6)解决猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,只剩一个桃子了。
求第一天猴子共摘了多少个桃子。
#include <stdio.h>main(){inti,m,n;for (n=1,i=1;i<10;i++){ m=2*n+2;n=m; }printf("total=%d\n",m);}(7)取彩球问题。