《C语言程序设计》期末考试试题(A卷).pdf》由会员分享,可在线阅读,更多相关《C语言程序设计》期末考试试题(A卷).pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、L C语言源程序的基本单位是()。*A、过程B、函数C、子程序D、标识符2.以下叙述不正确的是 。*A、一个C源程序可由一个或多个函数组成B、一个C源程序只能由一个函数,即main函数C、一个C源程序有且只有一个主函数,其它函数不限D、一个C源程序可以只有一个主函数,没有其它函数3.若有定义char a;int b;float c;double d;,则表达式a*b+d-c值的类型为()。*A、charB、intC、floatDs double4.若a是in t型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为()。*A、36B、-36C、-60D、605.C语言中,要求运算对象
2、只能为整数的运算符是()。*A、/B、%C、+D、*6.下面程序的输出结果是()。#include int main()int a=10;if(a 20)printf(a 小于 20!);)printf(a 的值是%dn,a);return 0;A、编译提示错误B、输出结果是:a小 于20!C、输出结果是:a小 于20!a的值是10D、不提示错,也没有任何结果输出。7.下面程序的结果是()。#include main()int m;m=2;switch(m-2)case 0:case l:printf(yes);case 2:printf(ok);break;default:printf(no
3、);)*A、yesB、yesokC、C、noD、ok no8.下列程序运行后的输出结果是()omain()int n=3;do n+;printf(%d,n*n);while(-n);A、2591B、1925C、语法错误D、死循环9.下列选项中,合法的数组定义是()。*A、inta 二 helloB、inta6=0,123,4,5,6Cs char ch二 helloD、char ch 二2,3,4,5,610.设有定义:char s12=string”;则 printf(“验dn”,strlen(s);正确的运行结果是()。*A、7B、6C、11D、1211.有字符数组a80和b 8 0,则
4、正确的输出语句是()。*As puts(a,b);B、printf(%s1%s,a,b);C、putchar(a,b);D、puts(a);puts(b);12.请阅读以下程序。main()int x=l,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case l:b+;break;case 2:a+;b+;break;)printf(a=%d,b=%d,a,b);)上述程序的输出结果是()。*A、a=2,b=lB、a=l,b=OC、a=l,b=lD、a=2,b=213.判断char型变量c l是否为小写字母的正确表达式为()。A.,
5、a=cl=a&cl=,allcl=a&cl=,z,14.下面程序的输出结果是()。main()inta10=l,2,3,4,5,6,7,8,9,10,*p=a;printf(%dn,*(p+2);*A、4B、1C、2D、315.C语言中while和do-while循环的主要区别是()。*A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do-while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句16.有以下程序,程序运行后的输出结果是()。void f(int*q)int i=0;for(;i5;i+)(*q)
6、+;main()int a5=1,2,3,4.5,i;f(a);for(i=0;i5;i+)printf(%d,ai);程序运行后的输出结果是()。*A、223,4,5,B、6,2,3,4,5,C、1,2,3,4,5,D、2,3,4,5,6,17.下面程序的运行结果是()。main()int x=l;while(x20)x=x*x;x=x+l;)printf(埠d”,x);*A.lB.20C.25D.2618.下列程序执行后的输出结果是()。void funcl(int i);void func2(int i);char st=hello,friend!;void funcl(int i)pr
7、intf(%c,sti);if(i3)i+=2;func2(i);)void func2(int i)printf(%c,sti);if(i3)i+=2;funcl(i);)main()int i=0;funcl(i);printf(n);A、helloB、helC、hloD、him19.设有下面的定义:struct stint a;float b;d;int*p;要使P指向结构变量d中的a成员,正确的赋值语句是()。*A、*p=d.aB、p=&a;C、p=d.a;D、p=&d.a;20.若fp是指向某文件的指针,当未遇到该文件结束标志时函数feof(fp)的 值 为()。*A、0B、1B、-
8、1C、一个非0值21.若要用fopen()函数打开一个新的二进制文件,该文件要既能读也能写,则文件使用方式字应该是。*A、ab+B、wb+C、rb+D、ab22.当a=2,b=2时,表达式a=b的值为()。*A、2B、1C、0D、523.下列运算符中,优先级最高的是()。*A、B、-C、|D、=24.运行下面程序时,若从键盘输入“5 3”,则程序的输出结果是()。*A、33C、xyD、xy)z=x;x=y;y=z后x,y,z 的值是()。*A、x=l,y=2,z=3B、x=2,y=3,z=3C、x=2,y=3,z=lD、x=2,y=3,z=226.已有定义:chara=xyz,b=x,y,z)
9、,下列叙述中正确的是()。*A、数 组a和b的长度相同B、a数组长度小于b数组长度C、a数组长度大于b数组长度D、上述说法都不对27.以下关于数组的描述正确的是()。*A、数组的大小是固定的,但可以有不同类型的数组元素B、数组的大小是可变的,但所有数组元素的类型必须相同C、数组的大小是固定的,所有数组元素的类型必须相同D、数组的大小是可变的,可以有不同类型的数组元素28.下面选择中正确的赋值语句是(设chara5,*p=a;)。*A、*a=abcd;B、*p=abcd;C、a=abcd;D、p=abcd;29.当定义一个结构体变量时,系统分配给它的内存空间字节数是()。*A、各成员所需内存字节
10、数的总和B、结构体中第一个成员所需内存字节数C、结构体中最后一个成员所需内存字节数D、成员中占内存字节数最大的30.下面的变量表示文件指针变量的是()*A、FILE*fp;B、FILE fp;C、FILER*fp;D、file*fp;31.在C中,下面对文件的叙述正确的是()*A)用 r 方式打开的文件只能向文件写数据B)用“R”方式也可以打开文件C)用“w”方式打开的文件只能用于向文件写数据,且该文件可以不存在D)用 匕”方式可以打开不存在的文件32.在C中,常用如下方法打开一个文件:if(fp=fopen(filel.c,r)=NULL)printf(cannotopenthisfilen
11、);exit(l);)其中函数exit(l)的作用是()*A、退出C环境B、退出所在的复合语句C、当文件不能正常打开时关闭所有的文件,并终止正在调用的过程D、当文件正常打开时,终止正在调用的过33.有如下程序:#include main()FILE*fpl:fpl=fopenCfllxf/w);fprintf(fpl,abc);felose(fpl);若文本文件fl.tx t有内容为g o o d,则运行以上程后文件fL tx t中的内容为()。A、GoodabcB、AbedC、abcD、abegood34以下叙述中错误的是()。*A、用户所定义的标识符允许使用关键字B、用户所定义的标识符应尽
12、量做到“见名知意”C、用户所定义的标识符必须以字母或下划线开头D、用户定义的标识符中,大、小写字母代表不同标识35.以下表达中不正确的选项是()。*A、C语言中,随机读写方式不适用于文本文件B、C语言中对二进制文件的访问速度比文本文件快C、C语言中,顺序读写方式不适用于二进制文件D、C语言中的文本文件以ASCII码形式存储数据36.以下()是正确的变量名。A、a.beeB、-p llC、intD、p_H37.下面程序的输出结果是()。#includeint a 二246,8;main()int i,*p=a;for(i=0;i4;i+)ai=*p;printf(%dn,a2);)*A、6B、8
13、C、4D、238.下面程序的输出结果是()。#includemain()int a=97,b=65;printf(a=%d,b=%c1a,b);A、a=97,b=AB、a=a,b=65C、a=97,b=65D、a=a,b=A39以下对二维数组a的正确说明是()。*A.int a3;B.float a(3,4);C.double a34;D.float a(3)(4)40.下列符号中用来表示C语言中的回车换行的是()*A.B.nC.bD.41.请判断定义字符串的语句:charstr=0;是否正确。*正确错误42.调用printf()函数时,必须要有输出项。*正确错误43.假设p l、p 2为两个
14、指针变量,若p l p 2表示p l处于高地址位置。*正确错误44.定义指针变量时需要使用指针变量的定义符*,该符号是指针的组成部分。*正确错误45,char*s=china;等价于 char*s;s=china;*正确错误46.C语言中,在一个函数内部可以定义另一个函数。*正确错误47.C语言中,每个函数都可以被单独编译。*正确错误48.C语言中,每个函数都可以被其他函数调用,包 括m ain函数。*正确错误49.使用getchar。函数读入字符时,可以从键盘上输入字符所对应的ASCII码。*正确错误50.当指针变量定义并初始化后,可以用该指针变量。*正确错误51.语句inta5=10*l;
15、可以正确的对数组进行初始化。*正确错误52.用typedef可以定义各种类型名,但不能用来定义变量。*正确错误53.结构体类型的成员可以是一个结构体变量。*正确错误54.定义结构体数组可以先定义结构体类型再定义结构体数组。*正确错误55.C语言结构体类型变量在执行期间所有成员一直驻留在内存中*正确错误56.指针p已定义指向struct student类型的数据,它只能指向一个结构体数据,而不能指向元素中的某一成员。*正确错误57.在C语言中,可以把一个结构体变量作为一个整体赋值给另一个具有相同类型的结构体变量。*正确错误58.C语言是一门高级编程语言。*正确错误59.C语言中的函数名、变量名等不区分大小写。*正确错误60.C语言中的每条可执行语句最终都将被转换成二进制的机器指令。*正确错误