C语言程序设计课程试题整理稿件.docx
- 文档编号:29301697
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:90
- 大小:41.19KB
C语言程序设计课程试题整理稿件.docx
《C语言程序设计课程试题整理稿件.docx》由会员分享,可在线阅读,更多相关《C语言程序设计课程试题整理稿件.docx(90页珍藏版)》请在冰豆网上搜索。
C语言程序设计课程试题整理稿件
一、选择题
B-变量s已定义为“char*s=”Heollworld!
””,要使变量p指向s所指向的同一个字符串,则应定义为()。
A.char*p=s;
B-标准输入设备的文件流标示符是()。
A.stdin
B-表示文件结束符的符号常量为()C.EOF
C-char类型的长度为________个字节。
A.1向一个二进制文件中写入信息的函数为()。
D.fwrite()
C-C语言程序中的基本功能模块为()。
D.函数
C-C语言原程序文件的缺省扩展名为(A)。
D.C
C-C语言中的系统函数fopen()是()一个数据文件的函数。
D.打开
C-程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用()符号作为分隔符。
D.空格或回车
C-从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
B.fgets()
D-带有随机函数的表达式rand()%20的值在(C)区间内,C.0~19
D-当处理特定问题时的循环次数已知时,通常采用(A)循环来解决。
A.for
F-for循环语句“for(i=0;i A.(n+1)/2 F-for循环语句能够被改写为()语句。 D.while F-for语句能够被改写为(D)语句。 D.while H-函数调用func(exp1,exp2),exp3*exp4-exp5)中所含实参的个数为(B)个。 B.2 J-假定a为一个数组名,则下面的(B)表示有错误。 B.*a++ J-假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大()个字节。 C.16 J-假定a为一个字符数组名,则a[8]的地址比该数组的首地址大(B)个字节。 B.8 J-假定a为一个字符数组名,则元素a[1]的指针访问方式为()。 B.*(a+i) J-假定i的初值为0,则在循环语句“while(i B.n J-假定k是一个double类型的变量,则定义指向k的变量p的正确语句为(B)。 B.double*p=&k; J-假定n的初值为6,则表达式n++的值为()。 A.6 J-假定n的值为5,则表达式n++的值为()。 B.5 J-假定p是一个指向float类型的数据指针,则p+1所指向的数据的地址比p所指向的数据的地址大()个字节。 C.4 J-假定s被定义为指针类型char*的变量,初始指向的字符串为“Helloworld! ”,若要使变量p指向s所指向的字符串,则p应定义为()。 A.char*p=s J-假定x的值为5,y的值为6,则表达式x++*--y的值为()。 A.25 J-假定x的值为5,y的值为6,则表达式x++*--y的值为()。 B.30 J-假定变量m定义为“intm=7;”,则定义p的正确语句为(B)。 B.int*p=&m; J-假定一个二维数组的定义为“inta[3][4]={{3,4},{2,8,6}},”,则元素a[1][0]的值为()。 B.2 J-假定一个二维数组的定义为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[2][0]的值为()。 A.0 J-假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为()。 C.6 J-假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为(A)。 A.0 J-假定一个函数原型为“char*func(intn)”,则该函数的返回类型为()。 D.char* J-假定一条定义语句为“inta[10],x,*pa=a;”,若要把数组a中下标为3的元素赋值给x,则不正确的语句为(D)。 D.x=*pa+3; J-假定有“structBOOK{chartitle[40];floatprice;}book;”,则正确的语句为(B)。 B.structBOOK*x=&book; J-假定有“structBOOK{chartitle[40];floatprice;};structBOOK*book;”,则不正确的语句为(A)。 A.structBOOK*x=malloc(book); J-假定有定义“intb[10],*pb;”,则不正确的赋值为()。 B.pb=b[5] J-假定有定义“intb[10];int*pb;”,则不正确的赋值语句为(C)。 C.pb=b+2; J-假定有定义为“inta[10],x,*pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的赋值为()。 x=*pa+3 J-假定有定义为“inta[4][5]={{1,3,5},{2,8}};”,则a[1][1]的值为()。 D.8 J-假定有一条定义语句为“intm=7,*p;”,则给p赋值的正确表达式为()。 B.p=&m J-假定有语句“intb[10],*pb;”,则不正确的赋值为()。 A.pb=b J-假定有语句为“int*p=calloc(20,sizeof(int),”,则p所指向的动态数组中所包含的元素个数为()。 C.20 J-假定有语句为“int*p=calloc(10+20,sizeof(int));”,则p所指向的动态数组中所包含的元素个数为()。 C.30 J-假定有语句为“inta[4][5]={{1,3,5},{2,8}};”,则a[1][1]的值为()。 C.8 J-假定整数指针p所指数据单元的值为30,p+1所指数据单元的值为40,则执行*p++后,p所指数据单元的值为()。 A.40 J-假定指针变量p定义为“int*p=calloc(30,sizeof(int));”,要释放p所指向的动态内存,应使用语句(D)。 D.free(p); J-假定指针变量p定义为“int*p=malloc(sizeof(int));”,要释放p所指向的动态存储空间,应调用的函数为()。 A.free(p) J-假定指针变量p定义为“int*p=newint(100);”,要释放p所指向的动态内存,应使用语句(D)。 D.delete[]p; J-将两个字符串连接起来组成一个字符串时,选用(C)函数。 C.strcat() L-逻辑表达式(x>0&&x<=10)的相反表达式为()。 A.x<=0||x>10 L-逻辑表达式(x>0||y==5)的相反表达式为()。 B.x<=0&&y! =5 M-枚举类型中的每个枚举常量的值都是一个()。 A.整数 M-枚举类型中的每个枚举常量的值都是一个()。 C.字符 M-每个C语言程序的编译错误分为(B)类。 B.2 R-若定义了函数double*function(),则返回值类型为()。 B.实数指针型 R-若要使p指向二维整型数组a[10][20],则p的类型为()。 D.int(*)[20] R-若要以读/写操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为()。 C.“rb+” R-若用数组名作为函数调用的实参,传递给形参的是()。 A.数组的首地址 R-若有一个函数原型为“double*function()”,则它的返回值类型为()。 B.实数指针型 S-设x和y均为逻辑值,则x&&y为真的条件是(A)。 A.它们均为真 S-设x和y均为逻辑值,则x||y为假的条件是()。 C.它们均为假 S-设x和y均为逻辑值,则x||y为假的条件是x和y()。 A.均为真 S-设有语句“inta=12;a+=a*a;”,则执行结束后,a的值为(C)。 C.156 S-十进制数50表示成复合C语言规定的八进制数为()。 D.062 X-x>0&&x<=10的相反表达式为(A)。 A.x<=0||X>10 X-x>0||y==5的相反表达式为()。 B.x<=0&&y! 5 X-下列给字符数组赋初值时,正确的是()。 A.chars1[]=”abcdef” X-下面的标识符中,(B)具有全局级作用域。 B.全局变量 X-下面的标识符中,(C)是文件级作用域。 C.外部静态类标识符 X-下面的函数原型声明中存在语法错误的是()。 C.AA(inta;intb;) X-下面循环语句执行结束后输出的i值为(B)。 for(inti=0;i X-下面正确的函数原型语句是(B)。 B.voidFunction(int); X-向一个二进制文件写入信息的函数fwrite()带有(D)参数。 D.4 X-循环体至少被执行一次的循环语句为()。 C.do-while X-循环语句“for(i=0;i<=n;i++)S;”中循环体S被执行的次数为()。 D.n+1 X-循环语句“for(inti=0;i C.n Y-要使p指向二维整型数组a[10][20],p应定义为()。 D.int(*p)[20]=a; Y-用calloc函数创建具有10个整型元素的动态存储空间正确调用是()。 C.calloc(10,sizeof(int)) Y-用calloc函数创建具有10个整型元素的一维数组的正确语句是(C)。 C.int*p=calloc(10,4); Y-由C语言目标文件连接而成的可执行的缺省扩展名为(B)。 B.exe Y-由C语言源程序文件编译而成的目标文件的默认扩展名为()。 D.obj Z-在C语言中,所有预处理命令都是以()符号开头的。 B.# Z-在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(B)语句。 B.if Z-在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。 A.main Z-在下列的符号常量定义中,正确的定义格式为()。 C.#defineM310 Z-在下列的字符数组定义中,存在语法错误的是()。 D.chara[10]='5'; Z-在下列符号常量定义中。 错误的定义语句格式为(C)。 C.constM310 Z-在下列选项中,不正确的函数原型格式为()。 C.intFunction(a); Z-在下面的(C)不能作为函数的返回类型。 C.new Z-在下面的(C)函数声明语句存在语法错误。 C.AA(inta;intb) Z-在下面的do-while循环语句中,其循环体语句被执行的次数为()。 inti=0;doi++;while(i<10);D.10 Z-在下面的do循环语句中,其循环体被执行的次数为(A)。 inti=0;doi++;while(i*i<10);A.4 Z-在下面的while循环语句中,其循环体被执行的次数为()。 Inti=0,s=0;while(s<20){i++;s+=I;}C.6 Z-在下面的二维数组定义中,(C)语句是正确的。 C.inta[][3]={{1,3,5},{2}}; Z-在下面的选项中,不能作为函数的返回类型的是()。 C.new Z-在下面的选项中,不能作为函数的返回值类型的是()。 C.int Z-在下面的一维数组定义中,(C)语句有语法错误。 C.inta[]; Z-在下面的字符数组定义中,()语句有语法错误。 D.chara[10]=’5’ Z-在下面循环w语句中内层循环体S语句的执行次数为(D)。 for(inti=0;i Z-字符串“a+b=12\n”的长度为(B)。 B.7 二、填空题 C-char类型的大小为_1_个字节。 C-C程序中的所有预处理命令均以_#_字符开头。 C-C语言的每条复合语句以}(或花括号)作为结束符。 C-C语言中的每条简单语句以_;(或分号_作为结束符。 D-double类型的大小为8个字节。 F-float类型的大小为_4_个字节。 I-int类型的大小为_4_个字节。 N-NULL是一个符号常量,通常作为空指针值,它对应的值为__0__。 S-shortint类型的长度为_2_。 S-short类型的大小为2个字节。 S-strcat()函数用于__连接__两个字符串。 S-strcat函数用于把一个字符串连接到另一个字符串之后的存储空间中。 S-strcmp函数用于进行两个字符串之间的_大小比较_。 S-Strcpy函数用于把一个字符串_复制到_另一个字符数组空间中。 S-strlen()函数用于计算一个字符串的_长度__。 B-把表达式x=x+y转换成复合赋值表达式为_x+=y_。 B-把间接访问表达式p->name改写成对应的直接访问表达式为__(*p).name__。 B-表达式(float)25/4的值为_25_。 B-表达式(int)16%5的值为_4_。 B-表达式(int)16的值为__14__。 B-表达式x=x+1表示成增量表达式为_++x_。 B-表达式x=x+y表示成复合赋值表达式为x+y=y。 C-程序的编译单位是一个_程序文件_。 C-程序的编译时以程序文件为单位进行的。 C-存储一个空字符串需要占用_1_个字节。 C-存储字符’a’需要占用存储器的_1_个字节空间。 C-存储字符串“a”需要占用存储器的2个字节空间。 D-单行或多行注释的结束标记符为_*/_。 D-当不需要函数返回任何值时,则应使用_void_标识符定义函数类型。 D-当行或多行注释的开始标记符为/*。 D-当在程序执行到_break_语句时,将结束本层循环语句或switch语句的执行。 D-当在程序中执行到continue语句时,将结束所在循环语句中循环体的一次执行。 D-对于“for(i=0,i<10,i++)S”语句,循环体S被执行的次数为10。 D-对于无返回值函数,定义函数时要用保留字void修饰函数类型。 G-关系表达式(x! =0)的等价表达式为_(x)_。 G-关系表达式(x==0)的等价表达式为(! x)。 H-函数形参的作用域是该函数的__内部___。 H-函数中的形参变量的初值由调用该函数时对应的实参值决定。 J-假定a是一个一维数组,则a[i]的指针访问方式为__*(a+i)__。 J-假定a是一个指针数组,则a+1所指对象的地址比a地址大__4___字节。 J-假定p是一个变量,则用_&p_表示该变量的地址。 J-假定p是一个指向整数对象的指针,则用_*p_表示该整数对象。 J-假定p是一个指向整数对象的指针,则用___&p___表示指针变量p的地址。 J-假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为__46__。 J-假定p所指对象的值为25,p+1所指对象的值为46,则*p++的值为__25__。 J-假定x=5,则表达式2+x++的值为_7_。 J-假定x=5,则执行“a=(x? 10: 20);”语句后a的值为_10_。 J-假定x的值为5,则执行“a=(! x? 10: 20);”语句后a的值为_20_。 J-假定x的值为5,则执行“a=(x>=6? 3: 8);”语句后a的值为8。 J-假定y=10,则表达式++y*3的值为__33__。 J-假定不允许使用逻辑非操作符,则关系表达式x+y>5的相反表达式为_x+y<=5_。 J-假定不允许使用逻辑非操作符,则逻辑表达式a>b||b==5的相反表达式为_a<=b&&b! =5_。 J-假定不允许使用逻辑非操作符,则逻辑表达式x>3&&x<10的相反表达式为x<=3||x>=10。 J-假定二维数组的定义为“chara[3][5];”,则该数组所含元素的个数为15。 J-假定二维数组的定义为“chara[M][N];”,则该数组所含元素的个数为_M*N_。 J-假定二维数组的定义为“doublea[M][N];”,则每个数组元素的行下标取值范围在_0~M-1_之间。 J-假定二维数组的定义为“doublea[M][N];”,则每个数组元素的列下标取值范围在_0~N-1_之间。 J-假定二维数组的定义为“inta[3][5],”,则该数组所包含的元素个数为15。 J-假定二维数组的定义为“inta[3][5];”,则该数所占存储空间的字节数为60。 J-假定要动态分配一个类型为structWorker的对象,并由r指针指向这个对象,则r的数据类型为structWorker*。 J-假定要动态分配一个类型为structWorker的对象,并由r指针指向这个对象,则使用的表达式为__structWorker*r__=malloc(sizeof(structWorker))。 J-假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为_x.(*a)_。 J-假定要访问一个结构对象x中的数据成员a,则表示方式为_x.a__。 J-假定要访问一个结构指针p所指向对象中的b指针成员所指的对象,则表示方法为_*(p->b)_ J-假定一个结构类型的定义为“structA{inta,b;A*c;};”,则该类型的长度为_12_。 J-假定一个结构类型的定义为“structB{inta[5];char*b;};”,则该类型的理论长度为__24__。 J-假定一个结构类型的定义为“structC{double*a[4];intn;”,则该类型的大小为20个字节。 J-假定一个枚举类型的定义为“enumRA{ab,ac,ad,ae};”,则ac的值为_1_。 J-假定一个枚举类型的定义为“enumRA{ab,ac,ad,ae};”,则ad的值为2。 J-假定一个枚举类型的定义为“enumRB{ab,ac=3,ad,ae}x=ad;”,则x的值为_4_. J-假定一个数据对象为int*类型,则指向该对象的指针类型为int**。 J-假定一维数组的定义为“char*a[8];”,则该数组所含元素的个数为_8_。 J-假定一维数组的定义为“char*a[8];”,则该数组所占存储空间的字节数为_32_。 J-假定一维数组的定义为“char*a[M];”,则该数组所占存储空间的字节数为_4*M_。 J-假定一维字符指针数组的定义为“char*a[5];”,则该数组占用的存储空间的字节数为20。 K-空字符串的长度为0。 L-逻辑表达式(x==0&&y>5)的相反表达式为(x! =0||y<=5)或: (x||y<=5)。 M-每个C程序文件在编译时可能出现有警告性错误,其对应的标识符为_warning_。 M-每个C程序文件在编译时可能出现有致命性错误,其对应的标识符为_error_。 R-如果一个函数只允许同一程序文件中的函数调用,则应在访函数定义前加上的C保留字为为___static______。 R-如果一个函数直接或间接地调用自身,这样的调用被称为__递归_____调用。 R-若do循环的“尾”为“while(++i<10)”,并且i的初值为0,同时在循环体不会修改i的值,由循环体将被重复执行_10_次后正常结束。 R-若p指向x,则___*p___与x的等价的。 R-若while循环的“头”为“while(i++<=10)”,并且i的初值为0,同时在循环体重不会修改i的值,则循环体将被重复执行11次后正常结束。 R-若x=5,y=10,则x! =y的逻辑值为_1_。 R-若x=5,y=10,则x>y逻辑值为_0_。 R-若x=5,y=10,则执行“if(x>y)c=5,elsec=10,”语句后,c的值为10。 R-若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字_const_。 R-若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为_(char*)p__。 S-十进制26f的类型为float。 S-十进制数25表示成符合C语言规则的八进制数为031。 S-十进制数25表示成符合C语言规则的十六进制数为_0x19_。 S-十进制数26类型为_double_。 S-十进制数28类型为_int_。 S-十进制数35对应的八进制数为__43__。 S-十进制数35对应的十六进制数为0x23。 S-使用#include命令可以包含一个头文件,也可以包含一个程序文件。 S-使用“typedefcharBB[10][50];”语句定义__BB__为含有10行50列的二维字符数组类型。 S-使用const语句定义一个符号常量时,则必须对它同时进行_初始化_。 D-调用系统函数时,要先使用#include命令包含该函数的原型语句所在__头___文件。 Y-一个二维字符数组a[10][20]能够存储_10_个字符串。 Y-一个二维字符数组a[10][20]能够存储的每个字符串的长度至多为_19_. Y-一个函数定义由_函数头_和函数体两部分组成。 Y-已知’A’~’Z’的ASCII码为65-90,当执行“intx=’C’+5;”语句所x的值为_72_. Y-已知'A'~'Z'的ASCII码为65~90,当执行“intx='C'+3;”语句后x的值为__70__。 Y-用类型关键字表示十进制常数26f的类型为_float_。 Y-用于从键盘上位变量输入值的标准输入函数的函数名为scanf。 Y-用于存储一个长度为n的字符串的字符数组的长度至少为_n+1_。 Y-用于输出表达式的标准输出函数是_printf()_。 Y-与结构成员访问表达式(*fp).score等价的表达式是_fp->score_。 Y-与结构成员访问表达式p->name等价的表达式是(*p).name。 Z-在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是_用户_定义的头文件。 Z-在#include命令中所包含的文件,可以是头文件,也可以是_程序_文件。 Z-在C语言程序的每个程序行后面或单独一行的开始使用注释的标记符为_//_。 Z-在C语言中,一个函数定义由函数头和_函数体_这两个部分组成。 Z-在C语言中,转义字符序列_’/n’_表示一个换行符。 Z-在if语句中,每个else关键字与它前面同层次并且最接近的if关键字相配套。 Z-在switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)不停止执行。 Z-在switch语句中,每个语句标号所含保留字case后面的表达式必须是_整型常量_。 Z-在程序执行完_主(或main)_主(main)主主主_函数调用后,将结束整个程序的执行过程,返回到操作系统或C语句集成开发环境界面窗口。 Z-在程序中执行到_return_语句时,将结束所在函数的执行过程,返回到调用该函数的位置。 Z-在程序中执行到_return或返回_语句时,将结束所在函数的执行过程,返回到调用该函数的位置。 Z-在函数外定义的变量称为全局变量,若没有被初始化则系统隐含对它所赋的初值为___0______。 Z-在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为0。 Z-在一个C程序文件中,若要包含另外
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课程 试题 整理 稿件