C语言各章节练习题(含答案)

合集下载

C语言章节习题集(全)

C语言章节习题集(全)

C语言程序设计第一、二章单项选择题1.将汇编语言编写的程序翻译成目标程序的程序是()A)解释B)编译C)汇编D)目标2.A)3.A)4.5.A)6、CA7A、B、C语言程序总是从第一个定义的函数开始执行C、C语言程序中,main()函数必须放在程序的开始部分D、C语言程序总是从main()函数开始执行8、以下对C语言描述中正确的是()。

A、C语言源程序中可以有重名的函数B、C语言源程序中要求每行只能书写一条语句C、C语言源程序中,注释可以出现在任何位置D、最小的C源程序中没有任何内容9、对C语言源程序执行过程描述正确的是()。

A、从main()函数开始执行,到main()函数结束B、C、D、1.2.3.4.用”。

5.C6.C7、89.选择结构是____选择某个操作来执行的—种程序结构。

10.选择结构可以分为____、双分支结构和多分支结构。

11.循环结构又可分为当型循环、____及次数型循环。

第三章数据类型、运算符与表达式单项选择题1.以下程序的输出结果是。

main(){inta=10,b=10;printf("%d,%d",a--,++b);}A)10,11B)10,10 C)9,9D)9,112.设3.设4.A)003B)012 C)103D)1125.字符串“\t\n\\\045\’”的长度为。

A)4B)10 C)5D)说明不合法6.C语言中最基本的数据类型包括。

A)整型,实型,逻辑型B)整型,实型,布尔型C)整型,实型,字符型D)整型,实型,指针型7.C浯言中的构造类型包括。

A)数组型,结构体型,联合体型B)结构体型,联合体型,指针型C)结构体型,联合体型,枚举类型D)数组型,结构体型,联合体8.设int9.若10.11.12.13.A)E10B)10 C)10L D)1E1014.'\060'和"\060"在内存中占用的字节数分别为。

C习题及答案

C习题及答案

C习题及答案第一、二章C语言概述与算法一、选择题(四个选项中只有一个是正确的----下同)1. 一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是A) 有零个或多个输入B) 有零个或多个输出C) 有穷性D) 可行性2. 以下叙述中正确的是A) C语言的源程序不必通过编译就可以直接运行B) C语言的每条可执行语句最终都将被转换成二进制的机器指令C) C语言的源程序经编译形成的二进制代码可以直接运行D) C语言的函数不可以单独进行编译3. 对用C语言编写的代码程序,以下叙述中哪个是正确的A) 可立即执行B) 是一个源程序C) 经过编译即可执行D) 经过编译解释才能执行4. 结构化程序由三种基本结构组成, 由这三种基本结构组成的算法A) 可以完成任何复杂的任务B) 只能完成部分复杂的任务C) 只能完成符合结构化的任务D) 只能完成一些简单的任务5.有一个命名为C001.C的C语言源程序,当正常执行后,在当前目录下不存在的文件是A)C001.OBJ B)C001.DAT C)C001.EXE D)C001.C二、填空题1.结构化程序由、、三种基本结构组成。

2.模块化程序设计的设计原则是和。

3.组成C程序的基本单位是,其组成部分包括和。

4.C程序中的main称,它可以出现在程序的位置。

5.由“/*”和“*/”括起来的内容称为,它的作用是。

6.描述算法的常用方法有:。

第三章数据类型、运算符与表达式一、选择题1.与十进制数97不等值的字符常量是A) ’a’ B) ’\101’ C) ’\x61’ D) ’\141’2.在编写了一个C语言源程序C001.C并正确执行之后,当前目录下哪个文件不存在A) C001.C B) C001.OBJ C) C001.DAT D) C001.EXE3.以下选项中正确的整型常量是A) 5.B)-10 C)1.000 D)4/54.以下选项中正确的实型常量是A) 0 B)3. 1415 C)0.03x102D).325.以下选项中不正确的实型常量是A)2.670E-1 B)0.05e+1.5 C)-77.77 D)456e-26.以下选项中不合法的用户标识符是A)wb-1 B)file C)Main D)PRINTF7.以下选项中不合法的用户标识符是A)_123 B)printf C)A$ D)Dim8.C语言中运算对象必须是整型的运算符是A)% B)/ C)* D)+9.可在C程序中用作标识符的一组标识符是A)void B)as_b3 C)For D)2cDefine _123 -abc DOWORD If case SiG10.若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b11.以下非法的赋值语句是A) n=(i=2,++i); B)j++; C) ++(i+1); D) x=j>0;12.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A) 6.500000 B) 6 C) 5.500000 D) 6.00000013.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是A) 6 B) 0 C) 2 D) 114.以下叙述中正确的是A)a是实型变量,C允许以下赋值a=10,因此可以这样说实型变量中允许存放整型值。

C语言程序设计课后各章节习题答案

C语言程序设计课后各章节习题答案
答include"math.h"
main()
{
float x,y,d;
printf("Input x,y:");
scanf("%f,%f",&x,&y);
d=sqrt((x-2)*(x-2)+(y-2)*(y-2));
if(d>1)printf(ntf("inside");
}
12有一函数
x-1 -5<x<0
y= x x=0
x+1 0<x<8
编写一程序,要求输入x的值,输出y的值。分别用不嵌套的if语句,嵌套的if语句,switch语句编写。
答使用不嵌套的if语句程序如下:
main()
{
int x,y;
printf("Input x:");
scanf("%d",&x);
答main()
{
int x,a,b,c;
printf("Input number:");
scanf("%d",&x);
a=x/100;/*变量a中记录x的百倍数字*/
b=x/10%10;/*变量b中记录x的十位数字*/
c=x%10;/*变量c中记录x的个位数字*/
if(a*a*a+b*b*b+c*c*c==x)
if(m==2)
d=28+f;
else
d=31-(m==4)+(m==6)+(m==9)+(m==11);
printf("%d-%d is %d days.\n",y,m,d);

C语言_分章节练习_带答案_第二章_数据类型

C语言_分章节练习_带答案_第二章_数据类型

C语言_分章节练习_带答案_第二章_数据类型[单选题]1.C 语言中(以16 位PC 机为例),各数据类型的存储空间长度的排列顺序为。

A)char<int<long<=float<doubleB)char=int<long<=float<doubleC)char<int<long=float=doubleD)char=int=long<=float<double答案:A解析:2.若x、i、j 和k 都是int 型变量,则计算下面表达式后,x 的值为。

x=(i=4,j=16,k=32)A)4B)16C)32D)52答案:C解析:3.假设所有变量均为整型,则表达式(a=2,b=5,a+b++,a+b) 的值是。

A)7B)8C)5D)2答案:B解析:4.语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。

A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中的任一种字符答案:C解析:5.下面正确的字符常量是。

A)"c"B)'\\''C)'W'D)""答案:C解析:6.下面不正确的字符串常量是。

A)'abc'B)"12'12"C)"0"D)" "答案:A解析:7.若有代数式3ae/bc,则不正确的C 语言表达式是。

A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*3答案:C解析:8.已知各变量的类型说明如下,则不符合C 语言语法规定的表达式是。

int k,a,b;unsigned long w=5;double x=1.42;A)x%(-3)B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)答案:A解析:9.已知各变量说明如下,则符合C 语言语法规定的表达式是。

国家开放大学C语言程序设计章节测试参考答案

国家开放大学C语言程序设计章节测试参考答案

国家开放大学《C语言程序设计》章节测试参考答案第一章C语言概述自测练习一:C语言字符集自测练习1.在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。

(√)2.在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。

(√)3.在C语言程序中,ABC和abc被作为同一标识符使用。

(×)自测练习二:C语言字符集自测练习1.在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。

(√)2.在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。

(√)3.C语言中使用的字符常量,其起止标记符是()。

a. 双引号b. 尖括号c. 单引号d. 中括号4.C语言中使用的字符串常量,其起止标记符是()。

a. 双引号b. 中括号c. 尖括号d. 单引号自测练习三:C语句分类自测练习1.在C语言中,一条简单语句的结束符是()。

a. 分号b. 空格c. 冒号d. 逗号2.在C语言中,每条复合语句的开始标记字符为()。

a. <b. [c. (d. {3.不符合C语言规定的复合语句是()。

a. {x=0;}b. {}c. {;}d. {y=10}4.C语言中的选择类语句有两条,它们是()。

a. else和caseb. if和switchc. if和elsed. switch和case自测练习四:函数分类与使用自测练习1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。

a. nameb. mainc. MAINd. function2.C语言程序中的基本功能模块为()。

a. 标识符b. 函数c. 表达式d. 语句3.一个函数定义所包含的两个部分是()。

a. 函数头和函数体b. 函数原型和函数体c. 函数名和参数表d. 函数头和函数尾4.一个程序文件开始使用的每条预处理命令,其首字符必须是()。

a. #b. @c. %d. $5.在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对()。

C语言章节练习题参考答案

C语言章节练习题参考答案

第1章程序设计基本概念选择题1.解析:计算机语言分为低级语言、汇编语言和高级语言,C语言属于高级语言,但并不是说C语言比其他语言高级,选项A)错误;除了低级语言外,其他各种语言都必须编译成能被计算机识别的二进制数才能执行,选项B)错误;C语言出现于1972年至1973年间,并不是出现最晚的语言,选项D)错误。

2.解析:本题考查最简单的C程序设计知识。

在做题之前一定要慎重对待题干的主要信息,本题所描述的是“3种基本结构”,而选项B),C),D)三个选项则表达的是零零散散的循环结构。

3. 解析:C语言相对其他高级语言来说,放宽了语法检查,因此程序设计自由度大,但并不是不检查语法,C语言的程序是由函数构成的。

函数不能嵌套定义,但是可以嵌套调用。

4. 解析:本题综合考查C语言的概念部分,关于C语言,我们应该了解以下必须要掌握的基础知识:①C程序是由函数构成的。

②一个函数由两部分组成:函数的首部和函数体。

③一个C程序总是从main函数开始执行的,而不论main函数的整个程序中的位置如何(main函数可以放在程序最开始,也可以放在程序最后,或写在一些函数之前,在另一些函数之后)。

④C程序在书写上,表现形式比较自由,一行内可以写几个语句,一个语句可以分写在几行上。

每个语句和数据定义的最后必须有一个分号。

⑤C 程序本身没有输入输出语句。

输入和输出的操作是由库函数scanf和printf 等函数来完成。

⑥可以用/*……*/对C语言的程序的任何部分作注释。

5. 解析:本题考查C语言的综合基础知识。

构成C程序的基本单位是函数,一个C程序总是从main函数开始执行,而不论main函数在整个程序中的位置如何。

C语言的函数定义都是互相平行、独立的,在定义函数时,一个函数内不能定义另一个函数。

C函数定义的一般格式有两种:传统格式和现代格式。

传统格式也称K&R格式,是早期编译系统使用的格式;现代格式又称ANSI格式,是现代编译系统使用的格式。

(完整版)C语言各章练习题

(完整版)C语言各章练习题

目录第一章程序设计和C语言 (2)第二章最简单的C程序设计 (2)第三章选择结构程序设计 (4)第四章循环结构程序设计 (7)第五章数组 (11)第六章函数 (14)第七章指针 (18)第一章程序设计和C语言一、选择题:1.一个C程序的执行是从( )A、本程序的main函数开始,到main函数结束B、本文件第一个函数开始,到本文件的最后一个函数结束C、本程序的main函数开始,到本文件的最后一个函数结束D、本文件的第一个函数开始,到本文件的main结束2.以下说法不正确的是()A、一个C源程序可由一个或多个函数组成B、一个C程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面3.C语言规定:在一个源程序中,main函数的位置()A、必须在开始B、必须在系统调用的库函数的位置C、可以任意D、必须在最后4.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是( )A、program.bak和program.objB、program.obj和program.exeC、program.exl和program.cD、program.bak和prgram.exe第二章最简单的C程序设计一、选择题1.是合法的用户自定义标识符的( )A、ah-spksB、doubleC、<ctrl>D、_myapple2.以下正确的C语言标识符是()A、%xB、a+bC、a123D、test!3.以下不能定义为用户标识符的是( )A、V oidB、b_2C、intD、name4.以下选项中可作为C语言合法整数的是( )A、11010(B)B、0583C、x2b2D、0xafb5.VC++6.0中的短整型数值在计算机中占用的字节个数是( )A、1B、2C、3D、46.设short int型的数据长度为2个字节,则unsigned short 类型数据的取值范围是()P34A、均为2个字节B、0至65535C、-3276至32767D、-256至255 7.以下选项中可作为C语言合法常量的是()(指数E或e前必须有数字,后面必须有整数)A、-80.0B、-080C、-8e1.2D、-80.0e8.在VC++6.0编译环境下,下列式中,值不为4的表达式是()P34,double为8字节A、sizeof(unsigned long)B、sizeof(long)C、sizeof(unsigned int)D、sizeof(double)9.设有说明语句:char a=’\123’;则变量a( )一个ascii字符A、包含1个字符B、包含2个字符C、3个字符D、说明不合法10.设x为一数字字符,则其所对应的十进制数值为()。

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

(完整)C语言基础练习题(含答案),推荐文档
第 4 章 选择结构习题 ..............................................................................................................11 1 选择题 ............................................................................................................................11 2 填空题 ............................................................................................................................17 3 答案及部分解析 ............................................................................................................23
A.long
B._2abc
C.3dmax
D.A.dat
15.以下选项中,合法的实型常数是2E0
D.1.3E
16.已知大写字母 A 的 ASCII 码值是 65, 小写字母 a 的 ASCII 码是 97,则用八进制表示
的字符常量’\101’是( )。
A.字符 A B.字符 a
C.字符 c
D.非法的常量
17.以下选项中, 合法转义字符的选项是( )。
A.’\\’
B.’\018’
C.’xab’
D.’\abc’
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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)若干子程序组成二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。

x=(i=4,j=16,k=32)a)4b)16c)32d)522.下列四组选项中,均不是c语言关键字的选项是。

a)defineiftypeb)getccharprintfc)includecasescanfd)whilegopow3.以下四组选项中,均就是不合法的用户标识符的选项就是。

(c语言标识符由字母,数字,下划线共同组成,结尾无法就是数字)a)wp_0dob)b-agotointc)floatla0_ad)-123abctemp8.未知字母a的ascii码点为十进制数65,且c2为字符型,则继续执行语句c2=‘a’+‘6’-‘3’后,c2中的值。

a)db)68c)不确定的值d)c填空题1.若存有以下定义,则排序表达式y+=y-=m*=y后的y值就是【1】。

-16intm=5,y=2;7.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。

106x+=n++//若改成x+=++n则排序后x为11,n为610.已知字母a的ascii码为十进制数97,且设ch为字符型变量,则表达式ch=‘a’+‘8’-‘3’的值为【12】。

f三、简单的c程序设计挑选1.putchar函数可以向终端输入一个d。

a)整型变量表达式b)实型变量值c)字符串d)字符或字符型变量值3.阅读以下程序,当输入数据的形式为:25,13,10(注:表示回车),则正确的输出结果为a。

main(){intx,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\\n”,x+y+z);}a)x+y+z=48b)x+y+z=35c)x+z=35d)不确认值4.根据下面的程序及数据的输出和输入形式,程序中输出语句的恰当形式必须为c。

main(){charch1,ch2,ch3;输入语句printf(“%c%c%c”,ch1,ch2,ch3);}输出形式:abc输入形式:abca)scanf(“%c%c%c”,&ch1,&ch2,&ch3);b)scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);c)s canf(“%c%c%c”,&ch1,&ch2,&ch3);d)scanf(“%c%c”,&ch1,&ch2,&ch3);5.intj=-1;if(j<=1)printf(“***\\n”);elseprintf(“%%%\\n”);a、***b、%%%c、***\\nd、%%%\\n6.存有一输出语句scanf(“%d”,k);则无法并使float类型变量k获得恰当数值的原因就是【8】和【9】。

格式控制符应属%f;变量k前缺乏&7、写下下面程序的输入结果。

(1)main(){charc1,c2;c1=65;c2=66;printf(\printf(\}a,6665,b四、逻辑运算与判断选取控制2.推论char型变量ch与否为大写字母的恰当表达式就是c。

a)‘a’<=ch<=‘z’b)(ch>=‘a’)&(ch<=‘z’)c)(ch>=‘a’)&&(ch<=‘z’)d)(‘a’<=ch)and(‘z’>=ch)4.建有:inta=1,b=2,c=3,d=4,m=2,n=2;继续执行(m=a>b)&&(n=c>d)后n的值a。

a)0b)2c)3d)45.以下程序的运转结果就是b。

main(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}a)6,1b)2,1c)6,0d)2,07.以下程序的运行结果是c。

main(){intm=5;if(m++>5)printf(“%d\\n”,m);else;printf(“%d\\n”,m--);}a)4b)5c)6d)78.若运转时给变量x输出12,则以下程序的运转结果就是d。

main(){intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\\n”,y);}a)4b)3c)2d)07.以下程序的运行结果是_。

main(){inti,j;a=3;b=5;printf(“a=%d,b=%d\\n”,a,b);c=(++a)*b;printf(“a=%d,b=%d\\n”,a,b);printf(“c=%d\\n”,c);}a=3,b=5a=4,b=5c=20五、循环掌控选择1.设有程序段intk=10;while(k=0)k=k-1;这下面叙述中恰当的就是___c______.a)while循环执行10次b)循环是无限循环c)循环体语句一次也不执行d)循环体语句执行一次5.以下程序段____c____.x=-1;do{x=x*x;}while(!x);a)就是死循环b)循环继续执行二次c)循环继续执行一次d)存有语法错误8.若i为整型变量,则以下循环执行次数是__b___.for(i=2;i==0;)printf(\a)无穷次b)0次c)1次d)2次10.以下恰当的叙述就是___b____.a)continue语句的作用是结束整个循环的执行b)只能在循环体内和switch语句体内使用break语句c)在循环体内采用break语句或continue语句的促进作用相同d)从多层循环嵌套中选择退出时,就可以采用goto语句3.下面程序的运行结果是_____s=254____.#includemain(){inta,s,n,count;a=2;s=0;n=1;count=1;while(count<=7){n=n*a;s=s+n;++count;}printf(\}4.下面程序段的运转结果就是__369【contrary】__sum=20__.main(){inti=1,sum=0;while(i<=10){if(i%3==0){sum+=i;printf(“-”,i);}i++;}printf(“”\\n);prinf(“sum=%d”,sum);}5.下面程序段的运行结果是__d____.main(){intn=3;switch(n){case0:printf(“a”);break;case1:printf(“b”);break;case2:printf(“c”);break;c ase3:printf(“d”);break;default:printf(“e”);}7.下面程序的运转结果就是_369____.main(){inti,sum=0;for(i=1;i<=10;i++)if(i%3!=0)continue;printf(“-”,i);}printf(“”\\n);}六、数组1.已知inta[10];则对a数组元素引用不正确的是()a.a[10]b.a[4+5]c.a[10-6]d.a[2]2.以下对二维数组a的恰当表明就是___c_____.a)inta[3][];b)floata(3,4);c)doublea[1][4]d)floata(3)(4);6.若有定义:inta[6]={1,2,3,4,5};则语句a[1]=a[3]+a[2+2]-a[3-1];运行后a[1]的值为()a.6b.5c.1d.27.下面程序段的运转结果就是____d_____.intmain(){inti,t,a[10]={25,40,29,8,17,6,15,4,3,2};t=a[0];for(i=0;i<10;i++)if(a[i]return0;}a)29b)40c)15d)2填空题1.若存有定义:doublex[3][5];则x数组中行下标的上限为____0_____,赵统标的下限为___4______.七、函数挑选2.以下恰当的函数定义形式就是___a_____.a)doublefun(intx,inty)b)doublefun(intx;inty)c)doublefun(intx,inty);d)doublefun(intx,y);3.c语言规定,直观变量搞实参时,它和对应形参之间的数据传达方式为__b____.a)地址传达b)单向值传达c)由实参托付给形参,再由形参传到给实参d)由用户选定传达方式填空题1.以下程序的运转结果就是_____.maxis2#includeintmax(int,int);main(){inta=1,b=2,c;c=max(a,b);printf(\}in tmax(intx,inty){intz;z=(x>y)?x:y;return(z);}3.以下程序的运转结果就是____4+5=9____.#includeintplus(intx,inty)。

相关文档
最新文档