您好,欢迎访问三七文档
1大学C语言考试题库第1章C语言概述习题1.单项选择题(1)C语言是在B语言的基础上产生的。A.AB.BC.DD.E(2)在C语言中,每个语句必须以D结束。A.回车符B.冒号C.逗号D.分号(3)标识符和关键字间,要用C隔开。A.回车符B.冒号C.空格D.分号(4)用C语言编写的源文件经过编译,若没有产生编译错误,则系统将(B)。A.生成可执行目标文件B.生成目标文件C.输出运行结果D.自动保存源文件(5)下列说法中正确的是(B)。A.由于C源程序是高级语言程序,因此一定要在TC软件中输入B.由C源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C.由于C程序是高级语言程序,因此输入后即可执行D.由于C程序是高级语言程序,因此它由命令组成(6)下列说法中正确的是(A)。A.C语言程序由主函数和0个或多个函数组成B.C语言程序由主程序和子程序组成C.C语言程序由子程序组成D.C语言程序由过程组成(7)下列说法中错误的是(D)。A.主函数可以分为两个部分:主函数说明部分和主函数体B.主函数可以调用任何非主函数的其他函数C.任何非主函数可以调用其他任何非主函数D.程序可以从任何非主函数开始执行2.填空题(1)C语言只有32个关键字和9种控制语句。(2)C语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系2统软件又适合于编写应用程序。(3)每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。(4)在C语言程序中允许出现的字符集是ASCII码字符集。(5)C语言的程序中有特殊含义的英语单词称为保留字。(6)C语言标识符的长度是前8位有效。(7)C语言中,标识符的定义规则是以字母或下划线为开头。(8)C语言程序的注释可以出现在程序中的任何地方,它总是以/*符号作为开始标记,以*/符号作为结束标记。第2章数据类型运算符和表达式习题1.单项选择题(1)以下选项中,正确的C语言整型常量是D。A.32LB.510000C.-1.00D.567(2)以下选项中,D是不正确的C语言字符型常量。A.'a'B.'\x41'C.'\101'D.a(3)在C语言中,字符型数据在计算机内存中,以字符的C形式存储。A.原码B.反码C.ASCII码D.BCD码(4)字符串的结束标志是C。A.0B.'0'C.'\0'D.0(5)算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为B。A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算(6)逻辑运算符中,运算优先级按从高到低依次为D。A.&&,!,||B.||,&&,!C.&&,||,!D.!,&&,||(7)表达式!x||a==b等效于D。A.!((x||a)==b)B.!(x||y)==bC.!(x||(a==b))D.(!x)||(a==b)(8)设整型变量m,n,a,b,c,d均为1,执行(m=ab)&&(n=cd)后,m,n的值是A。A.0,0B.0,1C.1,0D.1,1(9)intb=0,x=1;执行语句if(x++)b=x+1;后,x,b的值依次为A。3A.2,3B.2,0C.3,0D.3,2(10)设有语句inta=3;,则执行了语句a+=a-=a*=a;后,变量a的值是B。A.3B.0C.9D.-12(11)在以下一组运算符中,优先级最低的运算符是D。A.*B.!=C.+D.=(12)设整型变量i值为2,表达式(++i)+(++i)+(++i)的结果是B。A.6B.12C.15D.表达式出错(13)若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是C。A.1B.2C.2.0D.2.5(14)sizeof(double)的结果值是A。A.8B.4C.2D.出错(15)设a=1,b=2,c=3,d=4,则表达式:ab?a:cd?a:d的结果为D。A.4B.3C.2D.1(16)设a为整型变量,不能正确表达数学关系:10a15的C语言表达式是A。A.10a15B.a==11||a==12||a==13||a==14C.a10&&a15D.!(a=10)&&!(a=15)(17)设f是实型变量,下列表达式中不是逗号表达式的是D。A.f=3.2,1.0B.f0,f10C.f=2.0,f0D.f=(3.2,1.0)(18)设ch是char型变量,其值为'A',则下面表达式的值是B。ch=(ch='A'&&ch='Z')?(ch+32):chA.AB.aC.ZD.Z(19)以下运算符中,结合性与其他运算符不同的是A。A.++B.%C./D.+(20)以下用户标识符中,合法的是B。A.intB.nitC.123D.a+b(21)C语言中,要求运算对象只能为整数的运算符是%。A.%B./C.D.*(22)PC机中,'\n'在内存占用的字节数是A。A.1B.2C.3D.4(23)字符串ABC在内存占用的字节数是B。4A.3B.4C.6D.8(24)要为字符型变量a赋初值,下列语句中哪一个是正确的B。A.chara=3;B.chara=’3’;C.chara=%;D.chara=*;(25)下列不正确的转义字符是C。A.\\B.\'C.074D.\02.填空题(1)C语言中的逻辑值“真”是用非0表示的,逻辑值“假”是用0表示的。(2)符号常量的定义方法是#defineN10。(3)无符号基本整型的数据类型符为unsignedint,双精度实型数据类型符为double,字符型数据类型符为char。(4)设c='w',a=1,b=2,d=-5,则表达式'x'+1c,'y'!=c+2,-a-5*b=d+1,b==a=2的值分别为1、0、1、表达式错误。(5)设floatx=2.5,y=4.7;inta=7;,表达式x+a%3*(int)(x+y)%2/4的值为2.5。(6)判断变量a、b的值均不为0的逻辑表达式为(a!=0)&&(b!=0)。(7)求解赋值表达式a=(b=10)%(c=6),表达式值、a、b、c的值依次为4,4,10,6。(8)求解逗号表达式x=a=3,6*a后,表达式值、x、a的值依次为18,3,3。(9)数学式a/(b*c)的C语言表达式a/(b*c)。第3章顺序结构程序设计习题1.选择题(1)printf(f=%3.2f%%,3.478);的输出结果是A。A.f=3.48%B.f=3.5%C.f=3.48%%D.f=347.8%(2)printf(%c,%d,'a','a');的输出结果是A。A.a,97B.a97C.97,aD.97a(3)scanf(%c,&a);若要给变量输入大写字母A,则以下正确的输入是B。A.'A'CRB.ACR\C.ACRD.以上都不对(4)若一个int类型的数据占2字节,则程序段:intx=-1;printf(%u,%d,x,x);的输出结果是A。A.65535,-1B.-1,65535C.32767,32768D.32768,32767(5)在TC中,getchar、putchar、printf、scanf四个函数,均包含在头文件B5中。A.math.hB.stdio.hC.stbio.hD.stdlib.h(6)复合语句是用C括起来的语句组。A.()B.[]C.{}D.(7)下列格式符中,哪一个可以用于以八进制形式输出整数C。A.%dB.%8dC.%oD.%ld(8)下列格式符中,哪一个可以用于以十六进制形式输出整数B。A.%16dB.%8xC.%d16D.%d(9)a是int类型变量,c是字符变量,下列输入语句中哪一个是错误的B。A.scanf(%d,%c,&a,&c);B.scanf(%d%c,a,c);C.scanf(%d%c,&a,&c);D.scanf(d=%d,c=%c,&a,&c);(10)要使doublex;longa;的数据能正确的输出,输出语句应是D。A.printf(%d,%f,a,x);B.printf(%d,%1f,a,x);C.scanf(%1d,%1f,&a,&x);D.printf(%1d,%lf,a,x);2.程序改错题(以下各个程序段均有5个错误,请先找出错误的位置,然后再改正)(1)以下程序的功能是,从键盘输入一个字符并鸣笛输出。#includestdio.hmian()//main(){charc//charc;getchar(c);//c=getchar();putchar('\007');/*鸣笛*/c=putchar();//putchar(c);//}(2)以下程序的功能是,输入长方形的两边长(边长可以取整数和实数),输出它的面积和周长。main//main(){inta,b,s,l;//doublea,b,s,l;scanf(%d,%d,&a,&b);//scanf(%lf,%lf,&a,&b);s=a*b;6l=a+b;//l=(a+b)*2;printf(l=%f,s=%f\n,l);//printf(l=%lf,s=%lf\n,l,s);}3.写出程序运行结果(1)main(){inta,b;scanf(%2d%*2s%2d,&a,&b);printf(%d\n,a+b);}运行时输入:12345678//输出:68(2)main(){inta=3,b=5,x,y;x=a+1,b+6;y=(a+1,b+6);printf(x=%d\ny=%d\n,x,y);}输出:x=4y=11第4章选择结构程序设计习题1.单项选择题(1)选择结构程序设计的特点是___B____。A.自上向下逐个执行B.根据判断条件,选择其中一个分支执行C.反复执行某些程序代码D.以上都是(2)假定所有变量均已正确定义,下列程序段运行后x的值是__B_。a=b=c=0,x=35;7if(!a)x--;elseif(b);if(c)x=3;elsex=4;A.34B.4C.35D.3(3)下面的程序片段所表示的数学函数关系是_A____。if(x0)y=-1;elseif(x0)y=1;elsey=0;(4)下列各语句序列中,能够且仅输出整型变量a、b中最大值的是(C)。A.if(ab)printf(%d\n,a);printf(%d\n,b);B.printf(%d\n,b);if(ab)printf(%d\n,a);C.if(ab)printf(%d\n,a);elseprintf(%d\n,b);D.if(ab)printf(%d\n,a);printf(%d\n,b);(5)以下程序段的输出结果是Aintx=5;if(x0)y=1;elseif(x==0)y=0;elsey=1;printf(%d,y);A.1B.5C.0D.2(6)程序段intx=5,y=8,max;max=(xy)?x:y;printf(%d,max);的输出结果是B。A.5B.8C.3D.13(7)程序段intx=3,a=1;switch(x){case4:a++;case3:a++;case2:a++;case1:a++;}printf(%d,a);的输出结果是D。A.1B.2C.3D.4(8)下列语句应将小写字母转换为大写字母,其中正确的是(B)。A.if(ch='a'&ch='z')ch=ch-32;B.if(ch='a'&&ch='z')ch=ch-32;8C.ch=(ch='a'&&ch='z')?ch-32:’’;D.ch=(ch'a'&&ch'z')?ch-32:ch;2.阅读程序,写出运行结果(1)voidmain(){inta=10,b=4,c=3;if(ab)a=b;if(ac)a=c;printf(%d,%d,%d\n,a,b,c);}输出:10,4,3(2)voidmain(){intx=100,a=10,b=20,ok1=5,ok2=0;if(ab)if(b!=15)i
本文标题:C语言试题及答案
链接地址:https://www.777doc.com/doc-7028730 .html