C语言程序设计单元测试一
C语言单元测试题第一章基础练习题
第一章基础练习题一、填空题1、C语言是在70 年代初问世的。
一九七八年由美国电话电报公司(A T&T)贝尔实验室正式发表了C语言。
后来由美国国家标准协会(American National Standards Institute)在此基础上制定了一个C 语言标准,于一九八三年发表。
通常称之为ANSI C。
2、目前最流行的C语言有以下几种:Microsoft C 或称MS C ,Borland Turbo C 或称TurboC ,A T&T C ,这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。
9 种控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分。
Turbo C扩充了11个关键字:asm _cs _ds _es _ss cdecl farhuge i nterrupt near pascal注意:在C语言中,关键字都是小写的。
4、运算符丰富。
共有34 种。
C把括号、赋值、逗号等都作为运算符处理。
从而使C 的运算类型极为丰富,可以实现其他高级语言难以实现的运算。
5、C源程序的结构特点1>.一个C语言源程序可以由一个或多个源文件组成。
2>.每个源文件可由一个或多个函数组成。
3>.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。
4>.每个函数由两部分组成:说明部分与函数体,其中说明部分主要包括返回类型、函数名、形参例表。
函数体包括:说明部分与执行部分。
在C语言中函数的定义是并列的,而函数的调用可嵌套。
5>.每一个说明,每一个语句都必须以分号结尾。
但预处理命令,函数头和花括号“}”之后不能加分号。
6>.标识符,关键字之间必须至少加一个空格以示间隔。
若已有明显的间隔符,也可不再加空格来间隔。
6、从书写清晰,便于阅读,理解,维护的角度出发,在书写程序时应遵循以下规则:1>.一个说明或一个语句占一行。
C语言程序设计(第1次)
第1次作业一、单项选择题(本大题共60分,共20小题,每小题3分)1. #inl ucde <mycode.h> 是一条()。
A. 文件包含预处理命令B. 宏定义预处理语句C. 条件编译预处理命令D. C语句2.在C程序中,实型常数10-5的指数书写形式是()。
A.10A-5B.10E-5C.1E-5D.E-52. 下面关于结构体指针变量的描述中,正确的是()。
A. 定义一个结构体类型指针变量,可以用于存放同类型结构体变量在内存中的起始地址B. 定义一个结构体类型指针变量,可以存放同一程序中任意结构体类型变量地址C. 在函数的形式参数表中,不能有结构体类型指针变量作为形式参数D. 表示结构体变量的地址时,不需要使用取地址运算符,而是用结构体变量名直接表示3. 关于语句:int (*ptr)(); ,以下说法错误的是()。
A. ptr是指向函数的指针B. ptr可以指向定义为类似int a()的函数C. ptr是一个函数名,该函数返回值是指向整型数据的指针D. ptr是C语言的标识符合,命名要符合C语言的规定4. 下面关于结构体变量的描述中,错误的是()。
A. 结构体变量也遵循先定义、后使用的原则B. 结构体变量可以初始化C. 结构体变量不能作为整体实现数据的输入D. 结构体变量虽然不能整体输入,但可以整体实现数据输出5. 下面关于一维动态数组的描述中,错误的是( )。
A. 创建一维动态数组需要一个一级指针变量作为数组名使用B. malloc函数的返回值直接赋值给指针变量C. malloc函数的返回值需按要求强制转换后赋值给指针变量D. 动态一维数组的长度也不能是任意的长度6. 设有C语句序列:int arr[5],*p1; p1=arr; ,那么能够输入数组3号元素值的是()。
A. sca nf("%d",p1+3);B. sca nf("%d",arr[3]);C. sca nf("%d",p1*3);D. sca nf("%d",&p1[3]);7. 下面与结构体数组做函数参数相关描述中,错误的是( )。
大学C语言题库真题第一套题(含答案)
C语言程序设计试题库(第1套)一、单项选择题(每小题2分,共50分)1、一个C程序的执行是从___B____。
A、本程序的main函数开始,到main函数结束B、本程序的main函数开始,到本程序文件的最后一个函数结束C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束2、C语言程序的基本单位是_____C___。
A、程序行B、语句C、函数D、字符3、请选出可用作C语言用户标识符的一组标识符_____B___。
A、voidB、a3_b3C、ForD、2adefine _123 -abc DOWORD IF ase sizeof4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是_C_____ 。
A、4.500000B、4C、4.000000D、2.0000005、下列可以正确表示字符型常量的是__C____。
A、297B、"a"C、"\n"D、'\t'6、在C语言中,要求运算数必须是整型的运算符是___D___。
A、/B、++C、*=D、%7、C语言中,复合语句的构成是将一系列语句置于__C____。
A、begin与end之间B、方框号“[ ]”之间C、花括号“{ }”之间D、圆括号“( )”之间8、有如下程序段,对应正确的数据输入是____B___。
float x,y;scanf(”%f%f”, &x,&y);printf(”a=%f,b=%f”, x,y);A、2.04<回车>B、2.04,5.67<回车>5.67<回车>C、A=2.04,B=5.67<回车>D、2.045.67<回车>9、以下程序段的输出结果是___B___。
int a=5678;printf(”%2d\n”, a);A、提示出错、无结果B、56C、78D、567810、已知:char ch='A';则下列表达式的值是___B___。
C语言程序设计(数组)期末单元测试与答案
一、单选题1、C语言中,引用数组元素时,其数组下标的数据类型允许是().A.整型表达式B.任何类型的表达式C.整型常量D.整型常量、整型变量或整型表达式正确答案:D2、若有定义:int a[3][4], 则对数组a元素的正确引用是( )A.a(2)(0)B.a[10-10]C.a[1,3]D.a[2][3]正确答案:D3、以下不正确的定义语句是().A.char c1[ ] = { '1', '2', '3', '4', '5' };B.int y[5] = { 0, 1, 3, 5, 7, 9 };C.double x[5] = { 2.0, 4.0, 6.0, 8.0, 10.0 };D.char c2[ ] = { '\x10', '\xa', '\x8' };正确答案:B4、以下程序的输出结果是().#include<stdio.h>int main(){int n[2] = {0},i,j,k = 2;for (i = 0; i < k; i++)for (j = 0; j < k; j++)n[j] = n[i]+1;printf("%d\n",n[k]);return 0;}A.1B. 2C. 3D.不确定的值正确答案:D5、若二维数组a 有m 列,则在a[ i ][ j ] 前的元素个数为( ).A.j*m+iB.i*m+jC.i*m+j+1D.i*m+j-1正确答案:B6、下面语句的输出结果是().int i,x[3][3] = {1,2,3,4,5,6,7,8,9};for (i = 0; i < 3; i++)printf("%d",x[i][2-i]);A.147B.159C.369D.357正确答案:D7、以下对二维数组a的正确说明是()。
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.若x、i、j、k都是int型变量,则计算下面表达式x=(i=4,j=16,k=32)后,x的值为。
A) 4 B) 16 C) 32 D)526.下列四组选项中,均不是C语言关键字的选项是。
A) define IF typeB) getc char printfC) include case scanfD) while go pow7.下列四组选项中,均是不合法的用户标识符的选项是。
A) W P_0 doB) b-a goto intC) float la0 _AD) -123 abc TEMP8.下列四组选项中,均是合法转义字符的选项是。
A) …\”‟…\\‟…\n‟B) …\‟…\017‟…\”‟C) …\018‟…\f‟…xab‟D) …\\0‟…\101‟…xlf‟9.下面正确的字符常量是。
A) “c” B) …\\‟‟ C) …‟ D) …K‟10.以下叙述不正确的是。
C语言程序设计(自定义类型)期末单元测试与答案
一、单选题1、若有以下结构体定义struct A{int x;int y;}a;则正确的引用或定义是()A.struct b;b.x = 10;B.struct A b = [10];C.A.x = 10;D.A b;b.x = 10;正确答案:B解析:B、先定义类型Struct A的一个变量b,使用{}的方式为b提供初值,b正常需要两个值,而这里传一个值10,也是正确的,相当于把10赋值给b.x2、设有以下定义struct Stu{char name [10];int score;}a,b;则以下描述中错误的是()A.Stu为该结构体的类型名,故定义该结构体类型的一个变量c的语法为Stu c;B.a和b为该结构体类型的两个成员C.struct 为结构体类型的关键字D.为变量a的score赋值98的语句可写为a.score = 98;正确答案:A3、设有以下说明语句struct ex{int x;float y;char z;}example;则下面的叙述中不正确的是()A.example是结构体类型名B.x、y、z都是结构体成员名C.struct 是结构体类型的关键字D.struct ex是结构体类型名正确答案:A解析:A、struct example是类型名,只写example并不知道其是函数名还是int变量名还是float变量名4、以下结构体数组的定义格式中正确的是()struct stu{char name[10];char no[15];int score;};A.struct a[10];B.struct stu a[10];C.struct stu [10];D.stu a[10];正确答案:B解析:B、类型名为struct stu 数组名为a 正确5、以下描述中正确的是()typedef struct{int n;char ch[10];A.PER是结构体类型的变量名B.PER是结构体类型的数组名C.PER是结构体类型的类型同义词,代表该结构体类型D.PER是结构体类型的关键字正确答案:C6、以下描述中错误的是()struct Point{float x;float y;}a[5];A.a为struct Point结构体类型的变量,该变量占5个字节B.a为结构体数组名,该数组中含有5个该结构体类型的变量C.struct Point为该结构体类型D.struct为类型关键字正确答案:A7、以下描述中正确的是()struct Point{float x;float y;A.a[5].x = 7.8f;a[5].y = 6.9f;B.a[0].x = 2.1;a[0].y = 4.3;C.a = {1,2}D.a[0] = {2.1,4.3}正确答案:B解析:A、数组下标越界,正确范围0~4 C、数组名是常量,不能为其赋值D、变量a[0]中包含两个成员a[0].x和a[0].y , 不能为变量a[0]整体赋值8、若有以下定义语句,union data{int i;char c;float f;}a;int n;则以下语句中正确的是()A.a= 3.4f;B.a.i = 5;C.a = {3,'e',1.2};D.a.c= "e";正确答案:B解析:A、a.f = 3.4f; C、不能整体赋值D、应为'e'9、下列对枚举类型的定义正确的是()A.enum a{"A","B"=4,"C"};B.enum a{A;B;C};C.enum a={A,B=4;C};D.enum a{A,B=4;C};正确答案:D解析:B、各元素之间用逗号间隔C、不该有赋值号,enum a{A,B=4;C};2、#include<stdio.h>struct abc{ int a, b, c; };int main(void){struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0].a+s[1].b;printf("%d \n",t);return 0;}以上程序的输出结果为:A.8B.5C.7D.6正确答案:D10、struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是()A. x,y,z都是结构体成员名B.struct是结构体类型的关键字C.struct ex是结构体类型D. example是结构体类型名正确答案:D解析:D、example是结构体类型的一个变量,不是类型名11、关于单链表的描述中错误的是()A.结点的指针域中存放下一个数据元素的地址B.为单链表中每个元素分配一个结点,一般结点有两个数据成员,数据域和指针域C.结点的指针域中存放下一个数据元素所在结点的地址D.单链表中头结点可有可无,一般其标志作用,不存储数据元素正确答案:A12、关于单链表基本概念的描述中正确的是()A.单链表中的头结点就是首元结点B.单链表的头指针也就是指向单链表中首元结点的指针C.单链表的头指针是指向单链表中第一个结点的指针D.单链表的头指针也就是指向单链表中头结点的指针正确答案:C二、判断题1、链式存储中每个结点在物理位置上是连续的正确答案:×2、顺序存储结构中,逻辑上相邻的数据元素在物理位置上也相邻正确答案:√3、结构体类型、联合体类型及枚举类型均属于用户自定义的类型正确答案:√。
《C语言程序设计》第1-9章基本概念练习题
第一单元(1-5章)基本概念练习题一、单选选择(直接在正确的选项上打勾,每题)1、下面关于C语言特点的描述,不正确的是( )。
DA、C语言兼有高级语言和低级语言的双重特点,执行效率高B、C语言既可以用来编写应用程序,又可以用来编写系统软件C、C语言是一种结构式模块化程序设计语言D、C语言的可移植性较差2、C语言规定,在一个源程序中,main函数的位置( )。
BA、必须在最开始B、可以任意C、必须在最后D、必须在系统调用的库函数的后面3、下列说法中正确的是( )。
CA、C程序书写时,不区分大小写字母B、C程序书写时,一行只能写一个语句C、C程序书写时,一个语句可分成几行书写D、C程序书写时每行必须有行号4、C语言编译程序的首要工作是( )。
AA、检查C语言程序的语法错误B、检查C语言程序的逻辑错误C、检查程序的完整性D、生成目标文件5、C语言程序经过连接以后生成的文件名的后缀为( )。
CA、.cB、.objC、.exeD、.cpp6、以下关于算法的说法中,错误的是( )。
DA、一个算法应包含有限个步骤B、在计算机上实现的算法是用来处理数据对象的C、算法的目的是为了求解D、算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现7、算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性之一的是( )。
CA、确定性B、有穷性C、零个或多个输出D、零个或多个输入8、以下不属于结构化程序设计三种基本结构之一的是( )。
BA、顺序B、递归C、循环D、选择9、下列数据中,不合法的C语言实型数据是( )。
CA、0.123B、123e3C、2.1e3.5D、789.010、若变量a、i已正确定义,且i已正确赋值,以下属于合法的C语句是( )。
A、a==1B、++i;C、a=a++=5;D、a=int(i);11、已有定义int a=6; 则执行语句a+=a-=a*a;后,a的值为( )。
C语言程序设计模拟试题一(含答案)
C语言程序设计模拟试题一(含答案)1、下列述叙中正确的是A) 显示器和打印机都是输出设备B) 显示器只能显示字符C) 通常的彩色显示器都有7种颜色D) 打印机只能打印字符和表格2、微型计算机中运算器的主要功能是进行A) 算术运算B) 逻辑运算C) 算术和逻辑运算D) 初等函数运算3、是DOS系统的最外层模块,通常称之为A) 引导程序B) 输入输出系统C) 命令处理系统D) 文件管理系统4、电子邮件是A) 网络信息检索服务B) 通过Web网页发布的公告信息C) 通过网络实时交互的信息传递方式D) 一种利用网络交换信息的非交互式服务5、和十进制数225相等的二进制数是A) 11101110 B) 11111110C) 10000000 D) 111111116、下列叙述中正确的是A) 指令由操作数和操作码两部分组成\B) 常用参数xxMB表示计算机的速度C) 计算机的一个字长总是等于两个字节D) 计算机语言是完成某一任务的指令集7、计算机的内存储器比外存储器A) 价格便宜B) 存储容量大C) 读写速度快D) 读写速度慢8、设当前盘为C盘,执行DOS命令"COPY B:\A.TXT PRN"之后,结果是A) B盘上的A.TXT文件被复制到C盘的PRN文件B) 屏幕上显示B盘上的A.TXT文件内容C) B盘上的A.TXT文件内容在打印机上输出D) B盘上的A.TXT文件被复制到B盘上的PRN文件9、要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B 盘当前目录是什么,完成这件任务可以使用的命令是A) COPY A:X1.TXT+C:B1.TXT Z.TXTB) COPY X1.TXT+C:\\WS\\B1.TXT B:\\Z.TXTC) COPY A:X1.TXT+C:\\WS\\B1.TXTD) COPY X1.TXT+B1.TXT B:Z.TXT10、下列四组DOS命令中,功能等价的一组是A) COPY A:*.* B:与DISKCOPY A: B:B) COPY ABC.TXT+XYZ.TXT 与TYPE XYZ.TXT>>ABC.TXTC) COPY ABC.TXT+XYZ.TXT与COPY XYZ.TXT+ABC.TXTD) TYPE *.FOR>CON与COPY *.FOR CON11、设当前目录为D:\BB,现要把D:\AA目录下首字符是A的文本文件全部删除,应该使用命令A) DEL A*.TXT B) DEL \\AA\\A.TXTC) DEL \\AA\\A*.TXT D) DEL \\AA\\A?.TXT12、在Windows中,启动应用程序的正确方法是A) 用鼠标指向该应用程序图标B) 将该应用程序窗口最小化成图标C) 将该应用程序窗口还原D) 用鼠标双击该应用程序图标13、在Windows中,终止应用程序执行的正确方法是A) 将该应用程序窗口最小化成图标B) 用鼠标双击应用程序窗口右上角的还原按钮C) 用鼠标双击应用程序窗口中的标题栏D) 用鼠标双击应用程序窗口左上角的控制菜单框14、在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在A) RAM中B) ROM中C) 硬盘中D) 寄存器中15、使计算机病毒传播范围最广的媒介是A) 硬磁盘B) 软磁盘C) 内部存储器D) 互联网16、设有int x=11; 则表达式(x++ * 1/3) 的值是A) 3 B) 4C) 11 D) 1217、下列程序的输出结果是main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d \n", d*y);}A) 3 B) 3.2C) 0 D) 3.0718、下列程序执行后的输出结果是(小数点后只写一位)main(){ double d; float f; ling l; int i;i=f=1=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);}A) 6 6 6.0 6.0 B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.019、下列变量定义中合法的是A) short _a=1-.le-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;20、设int x=1, y=1; 表达式(!x||y--)的值是A) 0 B) 1C) 2 D) -121. 与y=(x>0?1:x<0?-1:0);的功能相同的if语句是A) if (x>0) y=1;else if(x<0)y=-1;else y=0;B) if(x)if(x>0)y=1;else if(x<0)y=-1;else y=0;C) y=-1if(x)if(x>0)y=1;else if(x==0)y=0;else y=-1;D) y=0;if(x>=0)if(x>0)y=1;else y=-1;22. 以下循环体的执行次数是main(){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2C) 1 D) 023. 以下叙述正确的是A) do-while语句构成的循环不能用其它语句构成的循环来代替B) do-while语句构成的循环只能用break语句退出C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环D) 用do-while语句构成的循环,在while后的表达式为零时结束循环24. 下列程序执行后的输出结果是main(){ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }A) G B) HC) I D) J25. 执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[1]*10;A) 不定值B) 33C) 30 D) 1026. 若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中0≤i≤9, 则对a数组元素不正确的引用上A} a[p-a] B} *(&a[i])C} p[i] D} a[10]27、下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d \n,b[0]);}A) 6 B) 7C) 8 D) 928、下列程序的运行结果是#include <stdio.h>main(){ int a=2,c=5;printf("a=%d,b=%d\n",a,c); }A) a=%2,b=%5 B) a=2,b=5C) a=d, b=d D) a=%d,b=%d29、下列程序执行后的输出结果是main(){ int a[3][3], *p,i;p=&a[0][0];for(i=p; i<9; i++) p[i]=i+1;printf("%d \n",a[1][2]);}A) 3 B) 6C) 9 D) 随机数30、设有数组定义: char array [ ]="China"; 则数组array所占的空间为A) 4个字节B) 5个字节C) 6个字节D) 7个字节31、下列程序的输出结果是int b=2;int func(int *a){ b += *a; return(b);}main(){ int a=2, res=2;res += func(&a);printf("%d \n",res);}A) 4 B) 6C) 8 D) 1032、在以下四组中,每组有两个分别运算的函数,运算结果相同的是main(){ int i, j, m=0, n=0;for(i=p; i<2; i++)for(j=0; j<2; j++)if(j>=i) m=1; n++;printf("%d \n",n);}A) 4 B) 2C) 2 D) 033、下列程序的输出结果是struct abc{ int a, b, c; };main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0],a+s[1],b;printf("%d \n",t);}A) 5 B) 6C) 7 D) 834、设int b=2;表达式(b>>2)/(b>>1)的值是A) 0 B) 2C) 4 D) 835、在C程序中,可把整型数以二进制形式存放到文件中的函数是A) fprintf函数B) fread函数C) fwrite函数D) fputc函数36、下列程序执行后的输出结果是main(){ char x=0xFFFF; printf("%d \n",x--); } A) -32767 B) FFFEC) -1 D) -3276837、若有定义: float w;int a, b;则合法的switch语句是A) switch(w){ case 1.0: printf("*\\n");case 2.0: printf("**\\n");}B) switch(a);{ case 1 printf("*\\n");case 2 printf("**\\n");}C) switch(b){ case 1: printf("*\\n");default: printf("\\n");case 1+2: printf("**\\n");}D) switch(a+b);{ case 1: printf("*\\n");case 2: printf("**\\n");default: printf("\\n");}38、以下程序段的执行结果是int a, y;a=10; y=0;do{ a+=2; y+=a;printf("a=%d y=%d\n",a,y);if(y>20) break;{ while(a=14);A} a=12 y=12a=14 y=16a=16 y=20a=18 y=24B} a=12 y=12a=16 y=28C} a=12 y=12D} a=12 y=12a=14 y=26a=14 y=4439、若有以下调用语句,则不正确的fun函数的首部是main(){ …int a[50],n;…fun(n, &a[9]);…A} void fun(int m, int x[]) B} void fun(int s, int h[41])C} void fun(int p, int *s) D} void fun(int n, int a)40、语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)A) a\\bre\\'hi\\'y\\\\\\bou B) a\\bre\\'hi\\'y\\bouC) re'hi'you D) abre'hi'y\\bou41、请选出正确的程序段A) int *p;scanf("%d",p);…B) int *s, k;*s=100;…C) int *s, k;char *p, c;s=&k;p=&c;*p='a';…D) int *s, k;char *p, e;s=&k;p=&c;s=p;*s=1;42、已知指针p的指向如下图所示,则执行语句*--p;后*p的值是A) 30 B) 20C) 19 D) 2943、设已有定义:char *st="how are you";下列程序段中正确的是A) char a[11], *p; strcpy(p=a+1,&st[4]);B) char a[11]; strcpy(++a, st);C) char a[11];strcpy(a, st);D) char a[], *p;strcpy(p=&a[1],st+2);44、下列程序执行后的输出结果是mai(){ char arr[2][4];strcpy(arr,"you"); strcpy(arr[1],"me");arr[0][3]='&';printf("%s \n",arr);}A) you&ne B) youC) me D) err45、下列程序执行后的输出结果是void func1(int i);void func2(int i);char st[]="hello,friend!";void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){ int i=0; func1(i); printf("\n");}A) hello B) helC) hlo D) hlm46、假定下列程序的可执行文件名为prg.exe,则在该程序所在的子目录下输入命令行: prg hello good<回车>后,程序的输出结果是main()int argc, char *argv[]){int i;if(argc<-0)return;for(i=1;i<argc;i++)printf("%c", *argv[i]);}A) hello good B) hgC) hel D) hellogood47、下列程序执行后的输出结果是#define MA(x) x*(x-1)main(){ int a=1,b=2;printf("%d \n",MA(1+a+b));}A) 6 B) 8C) 10 D) 1248、变量a所占内存字节数是union U{ char st[4];int i;long l;};struct A{ int c;union U u;}a;A) 4 B) 5C) 6 D) 849、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是main(){char s[100];int c, i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s \n",c,i,s);}A) 123,456,789 B) 1,456,789C) 1,23,456,789 D) 1,23,45650、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是main(){char s[100];int c, i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s \n",c,i,s); }A) 123,456,789 B) 1,456,789 C) 1,23,456,789 D) 1,23,456答案:ACCDD ACCDBCDDBD ACAABACDAA DABBCBABDA CDBCCCBABC BBCDD。
c语言程序设计习题1-4章练习
int a=1,b=2,c=3,d=4,k;
k=a>b?a:c>d?c:d
4.已知:int a=5;则执行a+=a-=a*a;语句后,a的值为【6】。
5.下面程序的运行结果是x=【7】,y=【8】。
main( )
{ float x=4.9;int y;
y=(int)x;
char ch;
scanf("%c",&ch);
ch=(ch>=′A′&&ch<=′Z′)?(【1】):ch
printf("【2】\\n",ch);
2.下面程序段的执行结果是x=【3】,y=【4】。
inta=3,b=5,x,y;
x=a+1,b+6;
y=(a+1,b+6);
printf("x=%d,y=%d",x,y);
B)11.000000,12.000000,13
C)11.0000000,12,13
D)11,12.000000,13
15.执行以下程序后x的值为【】。
unsigned int x=65535;
printf("%d\\n",x);
A) 65535B)1C)有错误D)-1
二、填空题
1.下面程序段的功能是输出大写字母对应的小写字母的ASCII码,请填空。
12.执行下面程序段,给x、y赋值时,不能作为数据分隔符的是【】。
int x,y;
scanf("%d%d",&x,&y);
A)空格B)Tab键C)回车D)逗号
13.下面合法的语句是【】。
C语言程序设计模拟试题1(附答案)
C语言程序设计模拟试题1(附答案)《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是()。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是()。
A) MAIN B) _HJ C) 2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是()。
A) \r B) \n C) \b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。
A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 15、已知ch为字符型变量,下面表达式中正确的是()。
A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是()。
A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是()。
A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为()。
main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是()。
x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是()A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是()A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是( )A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是 ( )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是()int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。
C语言程序设计试题试题及答案
C 语言程序设计试卷 ,C++语言程序设计试题及答案一、单项选择题(每题1分,共20分)1.C语言规定:在一个源程序中,main函数的位置( C )。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后2. 下面四个选项中,均是合法浮点数的选项是( B )。
A.+1e+1 5e-9.4 03e2B.-.60 12e-4 -8e5C.123e 1.2e-.4 +2e-1D.-e3 .8e-4 5.e-03. 若a=-14,b=3,则条件表达式 a<b? a:b+1的值为(A )。
A.-14B. -13C. 3D. 44. 已知:int n,i=1,j=2;执行语句n=i<j?i++:j++;则i和j的值是( c ).A.1,2B. 1,3C. 2,2D. 2,35. 为了判断两个字符串s1和s2是否相等,应当使用( D )A.if (s1==s2)B. if(s1=s2)C. if (strcmp(s1,s2))D. if (strcmp(s1,s2)==0)6. 以下正确的描述是( B )。
A.函数的定义可以嵌套,但函数的调用不可以嵌套。
B.函数的定义不可以嵌套,但函数的调用可以嵌套。
C.函数的定义和函数的调用均不可以嵌套。
D.函数的定义和函数的调用均可以嵌套。
7. 在C语言中,下面对函数不正确的描述是( D)。
A.当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。
B.允许函数递归调用。
C.函数形参的作用范围只是局限于所定义的函数内。
D.子函数必须位于主函数之前。
8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( A)。
A.该变量只在该复合语句中有效B.该变量在该函数中有效C.该变量在本程序范围内均有效D.该变量为非法变量9. 以下正确的函数形式是( D )。
A.double fun(int x,int y) { z=x+y;return z;}B.fun(int x,y) { int z; return z;}C.fun(x,y) { int x,y; double z; z=x+y; return z;}D.double fun( int x,int y) {double z; z=x+y; return z; }10. 以下程序的输出结果是( B )。
智慧树知到程序设计基础(C语言)测试第一章单元测试参考答案
智慧树知到程序设计基础(C语言)测试第一章单元测试参考答案
•总题数: 10
1【单选题】 (10分)
下列哪一个不是C语言的的主要特点()。
A.语言简洁、紧凑、方便、灵活
B.运算符丰富
C.数据类型丰富
D.能完成任何功能
2【单选题】 (10分)
一个C语言程序总是从()函数开始。
A.main
B.printf
C.scanf
D.max
3【单选题】 (10分)
计算机高级语言程序的运行方法有编译执行和解释执行两种,下列叙述中正确的是()。
A.C语言程序仅可以解释执行
B.C语言程序既可以编译执行又可以解释执行
C.C语言程序仅可以编译执行
4【单选题】 (10分)
下列叙述中正确的是()。
A.C语言程序的只有一个函数
B.C语句必须在一行内写完
C.C语言程序中每一行只能写一条语句
D.每个C语句必须以分号结束
5【判断题】 (10分)
程序是一组计算机能识别和执行的指令集合。
A.错
B.对
6【判断题】 (10分)
计算机语言是一种只有计算机才能识别的语言。
A.错
B.对
7【判断题】 (10分)
一个C语言程序是由一个或多个函数组成的,其中必须包含一个函数,函数名是main。
A.对
B.错
8【单选题】 (10分)
C语句是以()表示结束
A.句号
B.分号
C.逗号
D.回车
9【判断题】 (10分)
C语言区分大小写。
A.对
B.错
10【判断题】 (10分) C语言只有一个标准。
A.错
B.对。
C语言程序设计试卷1
《C语言》考试试卷I一、单选题:(每小题2分,共40分)1、在C语言中,正确的int类型的常数是()A、32768;B、0x5g ;C、038;D、12 ;2、下列常数中不能作为C的常量的是()A、0xa5B、2.5e-5C、3e2D、05823、在C语言中,若一个i nt型数据在内存中占2个字节,则unsi gned int 型数据的取值范围是()A、0~25B、0~65535C、0~32767D、-32768~327674、以下说法中正确的是()A、C语言程序总是从第一个定义的函数开始执行。
B、C语言程序总是从main()函数开始执行。
C、C语言程序中的main()函数必须放在程序的开始部分。
D、一个C函数中只允许一对花括号。
5、C语言中用语结构化程序设计的三种基本结构是()A、顺序结构、选择结构、循环结构;B、if ,switch ,break ;C、for ,while ,d o—while;D、if ,for ,continue ;6、对C语言中标识符,下列说法正确的是()A、标识符中的第一个字母必须是字母。
B、标识符中的第一个字母必须是下划线。
C、标识符的前两个字母必须是字母和下划线。
D、标识符中的第一个字母必须是字母或下划线。
7、已知int i;float f;正确的语句是()A、(int f)% iB、int (f% i )C、int (f % i)D、(int)f % i8、以下错误的转义字符是()A、'\\'B、' \'C、' \81'D、' \0 '9、以下正确的描述是( )A、只能在循环体内和switch语句体内使用break语句。
B、在循环体内使用break语句或continue语句的作用相同。
C、continue语句的作用是结束整个循环的执行。
.D、break语句能够一次从多层循环嵌套中退出。
10、C语言对嵌套if语句的规定是:else总是与()A、其之前最近的if配对B、第一个if配对C、缩进位置相同的if配对D、其之前最近的且尚未配对同一层内的if配对11、在定义int a[5][6];后,第10个元素是()A、a[2][5]B、a[2][4]C、a[1][3]D、a[1][5]12、以下不正确的定义语句是()A、double x[5]={2.0 , 4.0 , 6.0 , 8.0 , 10.0 };B、int y[5]={0 , 1 , 3 , 5 , 7 , 9 };C、char c1[ ]={ '1' , '2', '3' , '4' , '5' };D、char c2[ ]={'\x10' , '\xa' , '\x8' };13、下面()是错误的if语句(设int x,a,b;)A、if(a=b)x++;B、if(a=<b)x++;C、if(a-b)x++;D、if(x)x++;14、能正确表示a和b同时为正或同时为负的逻辑表达式是( )A、(a>=0‖b>=0)&&(a<0‖b<0)B、(a>=0&&b>=0)&&(a<0&&b<0)C、(a+b>0)&&(a+b<=0)D、(a>0&&b>0)||(a<0&&b<0)15、下面有关for循环的正确描述是:()A、for循环只能用于循环次数已经确定的情况。
程序设计与C语言简介单元测试与答案
一、单选题1、结构化程序由三种基本结构组成,三种基本结构组成的算法,()。
A.只能完成部分复杂的任务B.只能完成一些简单的任务C.可以完成任何复杂的任务D.只能完成符合结构化的任务正确答案:C2、下面不是算法特征的是()。
A.确定性B.可行性C.有穷性D.继承性正确答案:D3、关于C语言,下面叙述不正确的是()。
A.语法限制不太严格,例如,对数组下标越界不作检查B.既具有高级语言的特点,又具有汇编语言的特点C.既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序D.不用编译可以直接运行正确答案:D4、下面选项()不属于结构化程序设计原则。
A.不限制GOTO语句使用B.自顶向下C.程序模块化D.逐步求精正确答案:A5、下面选项中,()不属于程序的特性。
A.有序性B.实用性C.有限性D.可操作性正确答案:B二、判断题1、计算机只能完成其能力范围内的计算工作,超出计算机能力范围的计算计算机将无法完成。
正确答案:√2、编译方式下的程序当修改源程序后,需要重新编译才能够正确运行。
正确答案:√3、C语言属于面向过程的优秀程序设计语言,既可作为系统设计语言,也可作为应用程序设计语言。
正确答案:√4、算法可以分为数值算法和非数值算法两大类。
正确答案:√5、在VC++6.0环境下,任何一个C程序都必须包含在一个工程项目中,而且只能有一个main函数。
正确答案:√三、填空题1、C语言开发工具直接输入的程序代码是____文件,经过编译后生成的是目标程序文件,经过连接后生成的是可执行程序文件。
正确答案:源或源程序2、算法的效率通常由_____ 复杂度和空间复杂度衡量。
正确答案:时间3、描述算法的方法主要有_____、专用工具(传统流程图、N-S流程图)和伪代码等。
正确答案:自然语言4、计算机系统由硬件系统和______系统两部分组成。
正确答案:软件5、计算机语言分为:机器语言、汇编语言和_________语言。
C语言程序设计--试卷1
}s;
C、struct ABC
{ double a;
char b[10];
}
ABC s;
D、typedef ABC
{ double a;
char b[10];
}
ABC s;
7. 以下程序的输出结果是______。
main()
main() {
char str[12]={'s','t','r','i','n','g'};
printf("%d/n",strlen(str) );
}
A、6
B、7
C、11
D、12
10. 请读程序:
#include <stdio.h>
func(int a, int b){
main()
{
union{
unsigned char c;
unsigned int i[4];
}z;
z.i[0]=0x39;
z.i[1]=0x36;
printf("%c/n",z.c);
}
的输出是______。
A、6
B、9
C、0
D、3
{ int a=-1,b=1, k;
if((++a<0)&&!(b--<=0))
printf("%d %d/n",a,b);
else
c语言单元测试
c语⾔单元测试《C语⾔程序设计》单元测试(⼀)(适⽤于⾃动化专业本科学⽣)⼀、填空题(共5题,每题2分,共10分):1、C语⾔中唯⼀的三元运算符是(条件运算符? : 或 ? : )。
2、C语⾔的标识符只能由⼤⼩写字母,数字和下划线三种字符组成,⽽且第⼀个字符必须为(字母或下划线)。
3、C语⾔程序的三种基本结构是顺序结构、选择结构和(循环)结构。
4、设有:int a=3,b=4,c=5;则!(a>b)&&!c||1的值为(1 )。
5、能表达“2020&&x<30||x<-100)。
⼆、判断题,对的打√,错的打×(共5题,每题2分,共10分):(√)1、⼀个变量在内存中占据⼀定的存储单元。
(×)2、对⼏个变量在定义时赋初值可以写成:int a=b=c=3;(√)3、⾃增运算符(++)或⾃减运算符(--)只能⽤于变量,不能⽤于常量或表达式。
(√)4、在C程序中,逗号运算符的优先级最低。
(×)5、C语⾔不允许混合类型数据间进⾏运算。
三、选择题(共10题,每题2分,共20分):1、合法的字符串常量是(B )。
A)…\t? B) “A” C)…a? D)?\x32?2、合法的字符常量是(D )。
A)…\084? B) …\84? C)…ab? D)?\x43?3、(B)是C语⾔提供的合法的数据类型关键字。
A)Float B)signed C)integer D)Char4、下⾯选项中,不是合法整型常量的是(B)。
A)160 B)-0xcdg C)-01 D)-0x48a5、在C语⾔中,要求参加运算的数必须是整数的运算符是(C )。
A)/ B)* C)% D) =6、在C语⾔中,字符型数据在内存中以(A)形式存放。
A)ASCII码B)BCD码C)反码D)原码7、C语⾔中整数-8在内存中的存储形式为(D)。
A)1111111111110111 B)100000000001000C)000000000001000 D)11111111111110008、下列合法的标识符是(B)。
2022-2023学年湖南省衡阳市全国计算机等级考试C语言程序设计真题一卷(含答案)
2022-2023学年湖南省衡阳市全国计算机等级考试C语言程序设计真题一卷(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.下列叙述中错误的是()。
A.C语言程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过return语句返回D.函数形参的值也可以传回给对应的实参2.下列选项不符合良好程序设计风格的是( )。
A.源程序要文档化B.数据说明的次序要规范化C.避免滥用goto语句D.模块设计原则是高耦合、高内聚3.有以下程序:int fun(int n){ if(n==l)return l;else return(n+fun(n一1)):}main{ int x;scanf("%d",&x);x=fun(x);printf("%d\n",x):}执行程序时,给变量X输入10,程序的输出结果是( )。
A.55B.54C.65D.454.有以下程序:#include <stdio.h>#include <string.h>main(){char str[ ] [20]={“One * World”,“One * Dream!”}, * p=str[1];printf(“%d,”,strlen(p)); printf(“%s\n”,p);}程序运行后的输出结果是()。
A.10,One * Dream!B.9,One * Dream!C.9,One * WorldD.10,One * World5.右两个关系R和S如下:则由关系R得到关系S的操作是()。
A.自然连接B.并C.选择D.投影6.对包含N个元素散列表进行查找,平均查找长度()。
A.为OB.为O(N)C.不直接依赖ND.上述三者都不是7. 利用E-R模型进行数据库的概念设计,可以分成3步:首先设计局部E-R模型,然后把各个局部E-R模型综合成一个全局的模型,最后对全局E-R模型进行( ),得到最终的E-R模型。
单元测试之一C语言概述
单元测试之一C语言概述一、选择题1.C语言属于下列哪一类语言()。
CA.机器语言B.汇编语言C.面向过程的语言D.面向对象的程序设计语言2.一个C语言程序总是从()开始执行。
CA.书写顺序的第一个函数B.书写顺序的第一条执行语句C.主函数main D.不确定3.把已经编译好的源程序翻译成二进制的目标代码的是下面哪一个步骤()。
BA.编辑B.编译C.连接D.执行4.在C语言程序中,main()的位()。
CA.必须作为第一个函数B.必须作为最后一个函数C.可以任意D.必须放在它所调用的函数之后5.C语言中的标识符只能由字母,数字和下划线组成且第一个字符()。
CA.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字或下划线中任一种6.一个C程序的执行是从()。
AA.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束7.C语言中允许的基本数据类型包括()。
BA.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、字符型、逻辑型8.以下叙述错误的是哪个()。
DA.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用main表示9.以下叙述错误的是哪个()。
CA.一个C源程序必须有且只能有一个主函数B.一个C源程序可以含零个或多个子函数C.在C源程序中注释说明必须位于语句之后D.C源程序的基本结构是函数10.下列属于C语言合法的字符常数是()。
CA.’\97’ B.”A” C.’\t’ D.”\0”B和D显然不是字符,是字符串。
A应当用8进制,即'\097'才对,因此选C,C是控制字符,11.标示符命名规则规定,标示符的合法字符不能是以下哪个()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C 语言单元测试一(1-4章)一、选择题:(每题2分,共66分)1.若有定义语句int b=2; 则表达式 (b<<2)/(3||b)的值是 A )4 B )8 C )0 D )2 2.有以下程序#include <stdio.h> main(){ char a='H';a=(a>='A'&&a<='Z') ? (a-'A'+'a'):a; printf("%c\n",a); }程序运行后的输出结果是A )AB )aC )HD )h3.若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch 语句是4.在C 语言中,字符型数据在内存中以( )形式存放。
A)原码 B )ASCII 码 C )反码 D )BCD 码 5.下列关系表达式中,结果为“假”的是A )(3+4)>6B )(3!=4)>2C )3<=4||3D )(3<4)==1 6.C 语言中char 类型数据占字节数为 A )3 B )4 C )1 D )2 7.若有定义和语句:int a,b;scanf("%d,%d",&a,&b);以下选项中的输入数据,不能把值3赋给变量a 、5赋给变量b 的是(说明:符号□表示空格)A )3,5,B )3,5,4C )3□,5D )3,5 8.在C 语言中,要求运算数必须是整型的运算符是 A )/ B )++ C )!= D )% 9.已知各变量的类型说明如下:int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下正确的表达式是A )a + = a -= (b=4) * (a=3)B )a = a * 3=2C )x % (-3)D )y = float(i) 10.以下叙述中错误的是A )非零的数值型常量有正值和负值的区分B )常量是在程序运行过程中值不能被改变的量C )定义符号常量必须用类型名来设定常量的类型D )用符号名表示的常量叫符号常量 11.以下选项中表示一个合法的常量是(说明:符号□表示空格) A )9□9□9 B )0Xab C )123E0.2 D )2.7e 12.变量a 中的数据用二进制表示的形式是01011101,变量b 中的数据用二进制表示的形式是11110000。
若要求将a 的高4位取反,低4位不变,所要执行的运算是A )a^bB )a|bC )a&bD )a<<4 13.当变量c 的值不为2、4、6时,值也为“真”的表达式是A )(c==2)||(c==4)||(c==6)B )(c>=2 && c<=6) || (c!=3)||(c!=5)C )(c>=2 && c<=6) && !(c%2)D )(c>=2 && c<=6) && (c%2!=1) 14.有以下程序段char ch; int k; ch='a'; k=12;printf("%c,%d,",ch,ch,k); printf("k=%d\n",k);已知字符a 的ASCII 码值为97,则执行上述程序段后输出结果是 A )因变量类型与格式描述符的类型不匹配输出无定值 B )输出项与格式描述符个数不符,输出为零值或不定值 C )a,97,12k=12 D )a,97,k=12 15.int a=123,b=12345;printf(“%4d,%4d ”,a,b);的输出结果为(说明:符号□表示空格)A )□123,1234B )123,12345C )□123,12345D )123□,1234 16.以下程序的运行结果是 void main() { int m=5;if (m++ > 5) printf ("%d\n", m); else printf ("%d\n", m-- ); }A )4B )5C )6D )717.设以下变量均为int 类型,则值不等于7的表达式是A )(x= y= 6, x+y,x+1)B )(x= y= 6,x+y,y+1)C )(x= 6,x+1,y= 6,x+y)D )(y=6,y+l,x = y,x+1) 18.以下关于运算符优先顺序的描述中正确的是A )关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符B )逻辑运算符< 关系运算符< 算术运算符< 赋值运算符C )赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D )算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符 19.以下选项中可作为C 语言合法常量的是A )-80B )-080C )-8e1.0D )-80.0e 20.下列可用于C 语言用户标识符的一组是A )void, define, WORDB )a3_3,_123,CarC )For, -abc, IF CaseD )2a, DO, sizeof 21.有以下程序#include <stdio.h> main(){ int a=24,b;b=a>>2;printf("%d\n",b); }程序运行后的输出结果是D )switch(a*a+b*b) { default : break;case 3 : y=a+b;break; case 2 : y=a-b;break; }C )switch(a+b){ case1 : case3 : y=a+b;break; case0 : case4 : y=a-b; }B )switch a*b{ case 10 : x=a+b; Default : y=a-b; }A )switch(a+9){ case c1 : y=a-b; case c2 : y=a+b; }A)2 B)4 C)6 D)822.以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)A)printf("%c\n",'a'-32); B)printf("%d\n",'A');C)printf("%c\n",65); D)printf("%c\n",'B'-1);23.下列条件语句中,输出结果与其他语句不同的是A)if(a) printf("%d\n",x); else printf("%d\n",y);B)if(a==0) printf("%d\n",y); else printf("%d\n",x);C)if(a!=0) printf("%d\n",x); else printf("%d\n",y);D)if(a==0) printf("%d\n",x); else printf("%d\n",y);24.有以下程序#include <stdio.h>main(){ int a=1,b=0;if(--a) b++;else if(a==0) b+=2;else b+=3;printf("%d\n",b);}程序运行后的输出结果是A)0 B)1 C)2 D)325.若有定义语句:int k1=10,k2=20; ,执行表达式 (k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为A)0和1 B)0和20 C)10和1 D)10和2026.若有定义语句:int x=12,y=8,z; ,在其后执行语句z=0.9+x/y;,则z的值为A)1.9 B)1 C)2 D)2.427.若有定义语句:int a=10;double b=3.14; ,则表达式 'A'+a+b 值的类型是A)char B)int C)double D)float28.有以下程序#include <stdio.h>main(){ unsigned char a=8,c;c=a>>3;printf("%d\n",c);}程序运行后的输出结果是A)32 B)16 C)1 D)029.有以下定义:int a; long b; double x,y;,则以下选项中正确的表达式是A)a%(int)(x-y) B)a=x!=y; C)(a*y)%b D)y=x+y=x30.若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3 B)a=b=c+1 C)a=(b=4)+c D)a=1+(b=c=4)31.有以下程序#include <stdio.h>main(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)932.能正确表示“当x 的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是A)(x>=1) && (x<=10) && (x>=200) && (x<=210) B)(x>=1) || (x<=10) || (x>=200) || (x<=210) C)(x>=1) && (x<=10) || (x>=200) && (x<=210) D)(x>=1) || (x<=10) && (x>=200) || (x<=210) 33.以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数二、填空题(每空2分,共20分)1.有以下程序:main( ){ int k=0; char c1=’a’,c2=’b’;scanf("%d%c%c",&k,&c1,&c2); printf("%d,%c,%c\n",k,c1,c2); }若运行时从键盘输入:55 A B<回车>,则输出结果是______________。