C语言程序设计单元测试题一
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语言程序设计:数据的输入与输出单元测试与答案
一、单选题1、printf("a\rHappi\by");在屏幕上正确的输出形式是( )。
A.HappyB.aHappiC.aHappyD.Happi正确答案:A2、以下程序的输出结果是()。
int main(){float x=3.6;int i;i=(int)x;printf("x=%f,i=%d\n",x,i);return 0;}A.x=3.600000,i=3B.x=3.600000,i=4C.x=3 i=3.600000D.x=3,i=3正确答案:A3、已定义double a; int i;选择正确的输入格式为()。
A.scanf("%6lf%3d",&a,&i);B.scanf("%6.2f%3d", &a,&i);C.scanf("%lf%s", &a,&i);D.scanf("%f%d", a,i);正确答案:A4、已有定义char s1,s2;,下面正确的语句是()。
A.scanf ("%s%c", s1,&s2);B.scanf ("%c%c",s1,s2);C.scanf ("%s%c", s1,s2);D.scanf ("%c%c", &s1,&s2);正确答案:D5、运行下面的程序,正确的输出结果是()。
#include <stdio.h>int main( ){double x=68.7563, y= -789.127;printf ("%f, %10.2f\n", x,y);return 0;}A.68.756300, □□□-789.13B.68.75, □□□-789.13C.68.75, -789.12D.68.756300, □□□-789.12正确答案:A6、已知float x=2.23,y=4.35;,根据下面的输出结果,正确的程序段是()。
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、下面对函数的叙述,正确的是( )。
A.函数的返回值是通过return语句获得的B.函数中没有return语句,说明不带回值C.函数不能嵌套定义D.函数中无论是否有return语句,都能返回正确值正确答案:C2、下面叙述中错误的是( )。
A.一般来说,函数的形参和实参的类型要一致B.若函数的定义出现在主调函数之前,则可以不必再加说明C.函数的形参和实参必须要使用相同名字的变量D.函数的形式参数,在函数未被调用时不被分配存储空间正确答案:C3、若函数的调用形式如下:f((x1,x2,x3),(y1,y2))则函数形参个数是()。
A.4B.2C.5D.3正确答案:B4、下列程序段中,有错误的是()。
A. int f(){int x;scanf("%d", &x);return x++, x+5;}B. int f2(int x){return (x>1?printf("Y"): putchar('N'));}C. void change(int x, int y){int t;t=x; x=y; y=t;}D.int main(){float a=2.6 , b;b=max(2.1, 3.6)=a++;printf("%f", a+b);}正确答案:D5、关于函数正确的说法是()。
A.主函数可以写在其他函数之后,函数内不可以嵌套定义函数B.主函数必须写在其他函数之前,函数内可以嵌套定义函数C.主函数必须在写其他函数之后,函数内可以嵌套定义函数D.主函数必须写在其他函数之前,函数内不可以嵌套定义函数正确答案:A6、关于函数原型,叙述错误的是()。
A.函数可以不必进行声明,可以放在程序的任意位置B.当自定义函数被放在了主调函数的后面,就需要在函数调用之前,加上函数的原型声明C.被调用函数在主调函数之前定义,可以省略函数原型声明D.所有函数定义放在main函数之前,可以省略原型声明正确答案:A二、判断题1、函数可以根据需要通过参数与调用函数之间进行数据传递。
C语言程序设计-入门篇智慧树知到答案章节测试2023年山东大学(威海)
绪论单元测试1.用C语言编写的程序可以不经过编译直接运行。
()A:对B:错答案:B2.学习C语言只需要记忆语法就可以了。
()A:对B:错答案:B3.编译器的作用是将一个高级语言程序翻译成计算机可以执行的二进制代码。
()A:错B:对答案:B4.集成开发环境(IDE)包括了代码编辑器、编译器、调试器和图形用户界面等工具,它是集成了代码编写功能、分析功能、编译功能、调试功能、测试功能等一体化的综合开发软件。
()A:错B:对答案:B5.Polya的问题求解四步法不包括()。
A:构想方案B:分析问题C:执行方案D:理解问题答案:B6.注册实验辅助系统PTA账号,为后续课程的练习、实验和考试做准备。
答案:7.熟悉一种C语言的编译执行环境,并测试简单的程序hello world。
答案:第一章测试1.一个C语言程序无论长短都是有函数和变量组成。
()A:错B:对答案:B2.名为printf的函数可以完成程序指定的输出,它是C语言本身自有的一个关键字。
()A:错B:对答案:A3.单个字符的输入与输出函数名分别为putchar 、getchar。
()A:对B:错答案:B4.程序中出现的诸如 0、300、20等数字称为幻数,通常用变量或者符号常量来替代以明确其物理意义。
()A:对B:错答案:A5.以下叙述中正确的是()。
A:main函数必须出现在程序中所有函数之后B:main函数必须出现在程序中所有函数之前C:程序总是从main函数开始执行,不论main写在哪个位置D:一个C语言程序中可以没有main函数,也可以出现多个答案:C第二章测试1.连字符“ - ”可以用于变量名时连接两个单词。
()A:错B:对答案:A2.C程序代码中的注释、标识符命名、空行、代码行中的空格以及对齐等都不影响程序的可读性。
()A:对B:错答案:B3.正确的做加法运算的宏是:()A:#define SUM(X, Y) (X + Y)B:#define SUM(X, Y) (X) + (Y)C:#define SUM(X, Y) ((X) + (Y))D:#define SUM(X, Y) X + Y答案:C4.表达式5 % -3的值是()。
C语言程序设计试题_练习题
C语言程序设计试题_练习题一、选择题:(20分,每题2分)1.以下不正确的C语言标识符是()。
A.ABCB.abcC.a_bcD.ab.c2.C程序是由构成的。
A.主程序与子程序B.主函数与若干子函数C.一个主函数与一个其它函数D.主函数与子函数3.以下说法中正确的是:A.在C语言中,实参与其对应的形参各占独立的存储单元;B.在C语言中,实参与其对应的形参共占同一个存储单元;C.在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;D.在C语言中,形参是虚拟的,不占存储单元。
4.设n=3;则n++的结果是()。
A.2B.3C.4D.55.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。
A.0B.1C.2D.36.凡是函数中未指定存储类别的局部变量其隐含的存储类别是()。
A.自动(auto)B.静态(tatic)C.外部(e某tern)D.寄存器(regiter)7.在while(某)语句中的某与下面条件表达式等价的是:A.某==0B.某==1C.某!=1D.某!=08.若有以下说明和语句:tructworker{intno;~char某name;}work,某p=&work;则以下引用方法不正确的是()。
A.work.noB.(某p).noC.p->noD.work->no9.以下对二维数组进行正确初始化的是()。
A.inta[2][3]={{1,2},{3,4},{5,6}};B.inta[][3]={1,2,3,4,5,6};C.int a[2][]={1,2,3,4,5,6};D.inta[2][]={{1,2},{3,4}};10.二维数组a有m列,则在a[i][j]之前的元素个数为:A)j某m+iB)i某m+jC)i某m+j-1二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)1.#include<tdio.h>main(){inti=16,j,某=6;j=i+++1;某某=i=j;printf(“%d,%d\n”,j,某);}运行结果是:2.#include<tdio.h>#include<math.h>main(){inta=1,b=4,c=2;float某=10.5,y=4.0,z;z=(a+b)/c+qrt((double)y)某1.2/c+某;printf(“%f\n”,z);}运行结果是:3.#include<tdio.h>main(){inta,b,c,d;a=c=0;b=1;d=20;if(a)d=d-10;eleif(!b)if(!c)d=25;eled=15;printf(“d=%d\n”,d);}运行结果:4.main(){inti=10;witch(i){cae9:i+=1;cae10:i+=1;cae11:i+=1;}printf(“%d”,i);}运行结果:5.#include<tdio.h>main(){inta[]={1,2,3,4},i,j,=0;j=1;for(i=3;i>=0;i--){=+a[i]某j;j=j某10;}printf("=%d\n",);}运行结果:6.func(int某){某=20;}main(){int某=10;func(某);printf(“%d”,某);}运行结果:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
中国大学mooc《C语言程序设计(郑州轻工业大学) 》满分章节测试答案
titleC语言程序设计(郑州轻工业大学) 中国大学mooc答案100分最新版content点击这里,复制通过码第一章绪论第一章单元测验1、通常把高级语言源程序翻译成目标程序的程序称为( )。
答案: 编译程序2、关于C语言,下面叙述不正确的是()。
答案: 不用编译可以直接运行。
3、程序的开发步骤中不包括()。
答案: 编译链接4、 zzuliOJ的1000:从今天开始入坑C语言通过码答案: ikJ3Wx00syCxTCfJJpvCjVRSePQ5、 zzuliOJ的1001:整数a+b 通过码答案: jkJ2W0pnsnCxTCfJJpvCjVRSePU6、 zzuliOJ1002: 简单多项式求值通过码答案: g0QlCkxntSyxTCfJJpvCjVRSePY第二章简单C程序设计第二单元测验1、关于定点数和浮点数的说法,下列说法错误的是()。
答案: 浮点数表示的数即是数值的精确值2、以下哪种运算能从变量x中取得十进制最低位的数字()。
答案: x % 103、以下哪个数字的值最大()。
答案: 1e24、设有变量定义: float x=2.5; double y=6.0; 则表达式 (int)x / y的值为( )。
(如果结果是浮点类型,用小数点后一位数字表示)答案: 3.05、变量的名字代表内存中的存储单元;变量名和内存中的存储单元相对应,通过变量名来存、取存储单元的内容。
答案: 正确6、变量被定义后没有赋值,其值不可以使用,是内存中残留的垃圾值。
答案: 正确7、变量是在程序执行期间其值可以改变的量,必须先定义后使用。
答案: 正确8、当赋值语句右边表达式类型与左边变量类型不一致时,以右边表达式的值作为赋值表达式的值。
答案: 错误9、 zzuliOJ1003:两个整数的四则运算通过码答案: ikcgXkln5yyxTCfJJpvCjVRSePc10、 zzuliOJ1004:三位数的数位分离通过码答案: iUUkWxg2s3CxTCfJJpvCjVRSePA11、 zzuliOJ1005:整数幂通过码答案: gx5zX082t3SxTCfJJpvCjVRSePE12、 zzuliOJ1006:求等差数列的和通过码答案: 2B8gCk5k5SKxTCfJJpvCjVRSePI13、 zzuliOJ1007:鸡兔同笼通过码答案: iUNzXx015nCxTCfJJpvCjVRSePM14、 zzuliOJ1008:美元和人民币通过码答案: ihJzCkoyvXGxTCfJJpvCjVRSePw15、 zzuliOJ1009:求平均分通过码答案: 2BFyWhs2vHexTCfJJpvCjVRSeP016、 zzuliOJ1010:求圆的周长和面积通过码答案: jBRzD043syWxTCfJJpvCjVRSefQ17、 zzuliOJ1011:圆柱体表面积通过码答案: ixcjXxxnsHaxTCfJJpvCjVRSefU18、 zzuliOJ1012:求绝对值通过码答案: iRV2UR8x5iSxTCfJJpvCjVRSefY19、 zzuliOJ1013:求两点间距离通过码答案: 2hEgXEczsCyxTCfJJpvCjVRSefc20、 zzuliOJ1014:求三角形的面积通过码答案: 2BF1Xkg74iexTCfJJpvCjVRSefA21、 zzuliOJ1015:计算时间间隔通过码答案: 2RMnWUk6sXSxTCfJJpvCjVRSefE22、 zzuliOJ1015:银行利率通过码答案: 3xZxWBswvCSxTCfJJpvCjVRSefI第二章简单C程序设计小练习-不计分1、以下哪种运算能从变量x中取得十进制最低位的数字()。
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)。
C语言各章节单元测试题及答案——循环结构程序设计
第3章循环结构程序设计3.1 典型考试题剖析3.1.1 选择题【例1】若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c 均已赋值(c大于0)s=a;for(b=1;b<=c;b++) s=s+1;则与上述程序段功能等价的赋值语句是_______。
A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;✧考点:本例考查for循环。
✧分析:初始赋值时s=a,那么s的值一定与a有关,C、D答案中不含a所以排除掉。
只用清楚for循环的次数,不管b以前的值为多少,第一次循环时b=1,当b>c时循环结束,那么显然s要加c次1。
所以s的值为a与c的和。
✧答案:B【例2】设x和y均为int型变量,则执行下面的循环后,y值为。
for(y=1,x=1;y<=50;y++){if(x>=10) break;if(x%2==1){x+=5;continue;}x-=3;}A) 2 B) 4 C) 6 D) 8✧考点:本例考查for循环中break和continue的用法,以及区别。
✧分析:break用在循环中,只能退出一层循环。
尤其是在嵌套循环中,只能退出它所在的那一层循环。
不能期望用break从最内层循环一下子退出最外层循环(可以用goto实现)。
continue语句只能用在循环中,它的作用是跳过其后面的语句,直接将控制转移到下一轮循环条件的测试。
语句“if(x>=10) break;”中的break只有当x>=10时,才会执行,并且跳出for循环;语句“x+=5;continue;”是每次执行完一次跳过其后面的语句,直接将控制转移到下一轮循环条件的测试for(y=1,x=1;y<=50;y++)中。
✧答案:C【例3】以下程序中,while循环的循环次数是_______。
main(){ int i=0;while(i<10){ if(i<1) continue;if(i==5) break;i++;}......}A) 1 B) 10 C) 6 D) 死循环,不能确定次数✧考点:本例考查while循环的用法,以及continue和break的分别。
C语言程序设计:选择结构程序设计单元测试与答案
一、单选题1、下列运算符优先级最高的是( )。
A.&&B.,C.+D.||正确答案:C2、若给定条件表达式(m)?(a++):(a--),则其中表达式m()。
A.和(m==1)等价B.和(m!=1)等价C.和(m==0)等价D.和(m!=0)等价正确答案:D3、C语言中,switch后的括号内表达式( )。
A.只能是整型和字符型B.只能为整型C.可以是任何类型D.只能为整型,字符型或枚举型正确答案:D4、执行下面程序段后,k的值是:( )。
int k=2;switch(k+1)case 3:k+=1;case 4:k--;break;case 5:k*=3;case 6:++k;}A.28B.10C.27D.2正确答案:D5、若在程序运行时,输入:4 3,则执行下面程序输出的结果是( )。
#include <stdio.h>int main(){int a,b,s;scanf("%d%d",&a,&b);s=a;if(a>b) s=b;s=s*s;printf("%d\n", s);return 0;A.15B.16C.9D.13正确答案:C6、下列表达式中,结果为1的表达式是()。
A. !3!=0B.!2>=3C.!6D. !0==1正确答案:D二、判断题1、所有逻辑运算符的优先级都高于关系运算符。
正确答案:×2、在switch语句中,switch与case后的表达式可以为任意类型。
正确答案:×3、在逻辑表达式的求解过程中,并非所有的逻辑运算符都被执行。
正确答案:√4、并非所有的if语句都有等价的switch语句,switch语句只能用来实现以相等关系作为选择条件的多分支结构。
正确答案:√三、填空题1、已知 a=10,b=15,c=1,d=2,e=0,则表达式c==b>e的值为_____。
C语言试题1
模拟测试1.C语言的结构1.在C语言中,程序的基本单位是______,一个C源程序至少包含一个______,当然也可以包含一个______和许多个其他的______。
2.C语言具有层次清晰的特点,它用函数作为程序模块以实现程序的______,从而使得程序易于调试和维护,符合现代编程的风格,所以C语言是一种______语言。
阅读下面的程序,回答3、4题。
程序1-1:P1-1.c#include<math.h>#include<stdio.h>main(){double s;printf("Input a number:\n");scanf("%f",&s);s=sqrt(s);printf("%lf\n",s);}3.在上面的程序中,include称为______,而类似math.h的以.h为扩展名的文件称为______。
4.在程序1-1中,属于数据说明的语句是______,整个函数体包含在______之中。
5.与一般的编程语言相比较,C语言具有限制小,灵活性______,语法限制______,程序设计自由度大,可移植性______,并且能够______访问内存。
6.以下说法中正确的是()。
A)C语言程序总是从第一个函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分2.数据类型及其运算1.C语言的数据类型可以分为基本类型、______类型、______类型和空类型。
其中基本类型又可以分为整型、______、______和枚举类型。
构造类型可以分为______类型和______类型。
2.在C语言中,合法的字符常量是()。
A)'\084' B)'\x43'C)'ab' D)"\0"3.在C语言中不但规定了运算符的优先级,并且规定了运算符的______,这也是其他高级语言所没有的,同时也增加了C语言的复杂性。
C语言程序设计:变量的作用域及编译预处理单元测试与答案
一、单选题1、执行下列程序后的输出结果是()。
#include <stdio.h>int a=3, b=4;void fun(int x1, int x2){printf("%d, %d", x1+x2, b);}int main(){int a=5, b=6;fun(a, b);return 0;}A.3, 4B.11,4C.11,1D.11,6正确答案:B2、下列说法错误的是()。
A.局部变量与全局变量同名时,全局变量隐藏局部变量,即全局变量起作用,局部变量不起作用B.只要同名的变量出现在不同的作用域内,二者互不干扰,编译器有能力区分不同作用域中的同名变量C.变量的作用域是指变量的作用范围,即在程序中可以被读写访问的区域,它取决于变量被定义的位置D.形参也是局部变量,形参变量和实参变量的作用域是不同的,因此形参变量和实参变量同名时,二者互不干扰正确答案:A3、 C编译系统对文件包含命令#include "file.h"的处理通常是在()。
A.程序连接时B.编译处理过程之中C.编译处理之前D.程序执行的开始正确答案:C4、下面叙述中错误的是( )。
A.形式参数也是局部变量B.复合语句中定义的变量只在该复合语句中有效C.主函数中定义的变量在整个程序中都是有效的D.在其它函数中定义的变量在主函数中也不能使用正确答案:C5、下述程序的结果为( )。
int f(int x){static int a=3;a+=x;return a;}int main(){int k=2,m=1,n;n=f(k);n=f(m);printf("%d", n);return 0;}A.4B.6C.9D.3正确答案:B6、以下对静态局部变量的叙述,不正确的是()。
A.在一个函数中定义的静态局部变量可以被另一函数调用B.静态局部变量是在编译时赋初值的,故它只被赋值一次C.数值型静态局部变量的初值默认为0D.静态局部变量在整个程序运行期间都不释放正确答案:A二、判断题1、在一个函数中定义的静态局部变量可以被另一个函数调用。
单元测试之一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.标示符命名规则规定,标示符的合法字符不能是以下哪个()。
程序设计与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语言程序设计(山东联盟-青岛大学)知到章节答案智慧树2023年
C语言程序设计(山东联盟-青岛大学)知到章节测试答案智慧树2023年最新第一章测试1.在C语言中,下面标识符非法的是()。
参考答案:sum&2.C语言源程序要正确地运行,必须要有()。
参考答案:main函数3.一个C 语言程序是由()。
参考答案:函数组成4.C语言中数据的基本类型包括()。
参考答案:整型、实型、字符型5. C 语言规定:在一个源程序中,main函数的位置()参考答案:可以任意第二章测试1.若变量a是int类型,并执行了语句:a='A'+1.6;,则对于运算后变量a正确的叙述是()参考答案:a的值是整型2.若有定义:int a=8,b=5,c; ,执行语句c=a/b+0.4;后,c的值为()参考答案:13.如果有定义: int k=8 ,x=13;表达式的值为2的是()参考答案:(x%=k)-(k%=5)4.已知字母'A'的ASCII码为十进制数65,变量ch1为字符型,则执行语句ch1=‘A’+‘5’-‘2';后,ch1中的值是( )。
参考答案:'D'5.若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是()参考答案:2.06.以下关于标识符的说法错误的是()。
参考答案:不区分大小写,s和S是同一个变量第三章测试1.函数putchar()可以输出一个()。
参考答案:字符或字符型变量值2.若定义x为double型变量,则能正确输入x值的语句是()参考答案:scanf(“%lf”,&x);3.已m,n,k为int型变量,若从键盘输入:5,6,7<回车>,使m的值为5,n的值为6,k的值为7,则输入语句正确的是()。
参考答案:scanf(“%d,%d,%d”,&i,&j,&k);4.#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是().参考答案:i=123,j=455.输入函数scanf()和输出函数printf()一定是在stdio.h文件中定义的。
C语言程序设计:变量及表达式单元测试与答案
一、单选题1、关于变量定义,下面说法错误的是()。
A.确定了变量的名字B.确定了变量的表数范围C.确定了变量中的内容D.变量的类型确定了变量占据的存储单元的大小正确答案:C2、sizeof(float)的执行结果是()。
A.一个整型表达式B.一个不合法的表达式C.一个浮点表达式D.一种函数调用正确答案:A3、若有 float x=2,y=5.6;则表达式 (int)x%(int)y将完成()。
A.将x和y的的表达式的类型转换为整型,完成求余运算B.将x的值的类型转换为整型C.将x和y的类型转换为整型D.不能进行求余运算正确答案:A4、字符串 "\\\\abcd\\\\\n"在内存中占用的字节数是()。
A.14B.9C.11D.10正确答案:D5、下面关于C语言标识符的命名规则叙述中不准确的是()。
A.首字符必须为字母或下划线B.不能使用系统的保留字C.只能由字母、数字和下划线组成D.不区分大小写字母正确答案:D6、以下哪个数字的值最大()。
A.10.0B.0x10C.010D.10正确答案:B二、判断题1、C语言的关键字是由C语言规定的、具有特定功能的固定字母组合,也称为保留字,共计32个。
正确答案:√2、变量被定义后没有赋值,其单元内容不可以使用,是内存中的随机数。
3、变量的初始化是指在定义时对其赋值。
正确答案:√4、当存储单元溢出时,数据的值不会受到影响,只会丢掉超过的部分。
正确答案:×三、填空题1、在C语言中,对于整型变量采用有符号数和_________数两种存储形式。
正确答案:无符号2、当赋值语句右边表达式类型与左边变量类型不一致时,以_______类型为准。
正确答案:左边变量3、若有变量定义:char w;int x;float y;double z;则表达式w*x+z-y的结果为_____类型。
正确答案:double4、已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是_____。
c语言单元测试实例
c语言单元测试实例【实用版】目录一、C 语言单元测试简介二、C 语言单元测试实例1.实例一:计算两个整数的和2.实例二:计算两个整数的差3.实例三:计算两个整数的积4.实例四:计算两个整数的商三、C 语言单元测试的优点与应用正文一、C 语言单元测试简介C 语言单元测试是对 C 语言程序中的单个函数或模块进行测试的一种方法。
通过编写测试用例,可以检查函数的正确性和健壮性,以确保在实际应用中能够正常工作。
单元测试是软件开发过程中非常重要的一环,可以提高代码质量,减少错误和漏洞,提高开发效率。
二、C 语言单元测试实例1.实例一:计算两个整数的和假设我们有一个名为`add`的函数,用于计算两个整数的和。
我们可以编写一个测试用例来检查该函数的正确性。
```c#include <stdio.h>int add(int a, int b);int main() {int a = 5, b = 3;int result = add(a, b);printf("The sum of %d and %d is %d", a, b, result);return 0;}int add(int a, int b) {return a + b;}```2.实例二:计算两个整数的差接下来,我们编写一个名为`subtract`的函数,用于计算两个整数的差。
我们同样可以编写一个测试用例来检查该函数的正确性。
```c#include <stdio.h>int subtract(int a, int b);int main() {int a = 5, b = 3;int result = subtract(a, b);printf("The difference between %d and %d is %d", a, b, result);return 0;}int subtract(int a, int b) {return a - b;}```3.实例三:计算两个整数的积现在,我们编写一个名为`multiply`的函数,用于计算两个整数的积。
C语言程序设计(本) (1)
一、单选( 每题参考分值2.5分)1、下面叙述正确的是()。
宏展开不占用运行时间,只占用编译时间B.预处理命令也是C语句,必须以分号结束C.一个源程序只能有一个预编译处理命令行D.宏名必须用大写字母表示错误:【A】2、以下程序段的运行结果是()。
union { int num1; intnum2; }s; s.num1=20; s.num2=30; printf("%d",s.num1);20B.30C.50D.2030错误:【B】3、若有定义:struct teacher{int num; char sex; int age;}teacher1;则下面叙述错误的是()。
struct是结构类型的关键字B.struct teacher是用户定义的结构类型C.num、sex、age都是结构变量teacher1的成员D.teacher1是结构类型名错误:【D】4、下面叙述正确的是()。
C语言中整型与字符型变量的混合运算表达式的结果是整型B.(3+9)++ 是正确表达式C.模运算符"%"两边运算数的数据类型是任意的D."abc"+"xxx"是正确表达式错误:【A】5、有以下程序:main(){ int c;while((c=getchar())!= '\n'){ switch(c-'2'){ case 0 :case 1 : putchar(c+4);case 2 : putchar(c+4); break;case 3 : putchar(c+3);default: putchar(c+2); break;}}printf("\n");}当输入:247<回车>,程序的输出结果是()。
689B.6689C.66778D.66887错误:【B】6、若有定义:int a=3; 语句a+=a-=a*a; 运行后,a的值为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为
二、填空题
1. 若有以下定义,则计算表达式 y+=y-=m*=y 后的 y 值是【1 】 。 int m=5,y=2; 2. 在 C 语言中,一个 int 型数据在内存中占 2 个字节,则 int 型数据的取值范围为 【2 】 。 3. 若 s 是 int 型变量,且 s=6,则下面表达式的值为【3 】 。 s%2+(s+1)%2 4. 若 a 是 int 型变量,则下面表达式的值为【4 】 。 (a=4*5,a*2),a+6 5. 若 x 和 a 均是 int 型变量,则计算表达式(1)后的 x 值为【5 】 ,计算 表达式(2)后的 x 值为【6 】 。 (1) x=(a=4,6*2) (2) x=a=4,6*2 6. 若 a 是 int 型变量,则计算下面表达式后 a 的值为【7 】 。 A=25/3%3 7. 若 x 和 n 均是 int 型变量,且 x 和 n 的初值均为 5,则计算表达式后 x 的值为【8 】 ,n 的值为【9 】 。 x+=n++ 8. 若有定义:char c=‘\010’ ;则变量 c 中包含的字符个数为【10 】 。 9. 若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为【11 】 (x+y)%2+(int)a/(int)b
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 52 6. 下列四组选项中,均不是 C 语言关键字的选项是 A) define IF type B) getc char printf C) include case scanf D) while go pow 7. 下列四组选项中,均是不合法的用户标识符的选项是 A) W P_0 do B) b-a goto int C) float la0 _A D) -123 abc TEMP 8. 下列四组选项中,均是合法转义字符的选项是 A) ‘\”’ ‘\\’ ‘\n’ 。 B) 16 C) 32 D)
printf(“x+y+z=%d\n”,x+y+z); } A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值 19. 根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该 。 main() { char ch1,ch2,ch3; 输入语句 printf(“%c%c%c”,ch1,ch2,ch3); } 输出形式:A B C 输入形式:A B A) scanf(“%c%c%c”,&ch1,&ch2,&ch3); B) scanf(“%c,%c,%c”,&ch1,&ch2,&ch3); C) scanf(“%c %c %c”,&ch1,&ch2,&ch3); D) scanf(“%c%c”20. 已知 ch 是字符型变量,下面正确的赋值语句是 。 A) ch=‘a+b’; B) ch=‘\0’; C) ch=‘7’+‘9’; D) ch=5+9;</P< p>
10. 已知字母 a 的 ASCII 码为十进制数 97,且设 ch 为字符型变量,则表达式 ch=‘a’ +‘8’-‘3’的值为【12 】 。 9. 以下的输出结果是【13 】 。 main() { short i; i=-4; printf(“\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i); } 10. 以下的输出结果是【14 】 。 main() { char c=‘x’; printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c); } 11. 以下的输出结果是【15 】 。 main() { int x=1,y=2; printf(“x=%d y=%d * sum * =%d\n”,x,y,x+y); printf(“10 Squared is : %d\n”,10*10); } 12. 假设变量 a 和 b 均为整型,以下语句可以不借助任何变量把 a、b 中的值进行交 换。请填空。 a+=【16 】; b=a-【17 】; a-=【18 】; 13. 若 x 为 int 型变量,则执行以下语句后的 x 值为【19 】 。 x=7; x+=x-=x+x; z=m=0xFFFF 14. 有一输入语句 scanf(“%d”,k);则不能使 float 类型变量 k 得到正确数值的原因 是【20 】 。
。
。
B) ‘\’ ‘\017’ ‘\”’ C) ‘\018’ ‘\f’ ‘xab’ D) ‘\\0’ ‘\101’ ‘xlf’ 9. 下面正确的字符常量是 。 A) “c” B) ‘\\’’ C) ‘’ D) ‘K’ 10. 以下叙述不正确的是 。 A) 在 C 程序中,逗号运算符的优先级最低 B) 在 C 程序中,MAX 和 max 是两个不同的变量 C) 若 a 和 b 类型相同,在计算了赋值表达式 a=b 后,b 中的值将放入 a 中,二 b 中的 值不变 D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实 型数值 11. 以下叙述正确的是 。 A) 在 C 程序中,每行只能写一条语句 B) 若 a 是实型变量,C 程序中允许赋值 a=10,因此实型变量中允许存放整型数 C) 在 C 程序中,%是只能用于整数运算的运算符 D) 在 C 程序中,无论是整数还是实数,都能被准确无误地表示 12. 已知字母 A 的 ASCII 码为十进制数 65,且 c2 为字符型,则执行语句 c2=‘A’+ ‘6’-‘3’后,c2 中的值为 。 A) D B) 68 C) 不确定的值 D) C 9. sizeof(float)是 。 A) 一个双精度型表达式 B) 一个整型表达式 C) 一种函数表达式 D) 一个不合法的表达式 13.设 C 语言中,一个 int 型数据在内存中占 2 个字节,则 unsigned int 型数据的取 值范围为 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 14.设有说明:char w; int x; float y; double z;则表达式 w*x+z-y 值的数据类型 为 。 A) float B) char C) int D) double 15.设以下变量均为 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+1,x=y,x+1) 16. putchar 函数可以向终端输出一个 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 17. printf 函数中用到格式符%5s,其中数字 5 表示输出的字符串占用 5 列。如果字 符串长度大于 5,则输出按方式 ;如果字符串长度小于 5,则输出按方式 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 18. 阅读以下程序,当输入数据的形式为:25,13,10<CR>(注:<CR>表示回车) , 则正确的输出结果为 。 main() { int x,y,z; scanf(“%d%d%d”,&x,&y,&z);