C题库选择题答案080106
- 格式:doc
- 大小:74.00 KB
- 文档页数:8
c考试题库及答案道客巴巴以下是C语言考试题库及答案的排版格式:1. 单项选择题1.1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B1.2. C语言中,哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D2. 多项选择题2.1. 以下哪些是C语言中的基本数据类型?A. intB. floatC. stringD. char答案:A, B, D2.2. 关于C语言中的数组,以下哪些说法是正确的?A. 数组可以存储不同类型的数据B. 数组的大小在定义后可以改变C. 数组的索引从0开始D. 数组可以作为函数参数传递答案:C, D3. 判断题3.1. C语言中,全局变量的生命周期是整个程序运行期间。
答案:正确3.2. 在C语言中,switch语句可以用于字符串类型的变量。
答案:错误4. 简答题4.1. 请简述C语言中指针的作用。
答案:指针在C语言中用于存储变量的内存地址,它允许直接访问和操作内存,常用于动态内存分配、函数参数传递和数组操作等。
4.2. 描述C语言中结构体(struct)的基本用法。
答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的数据结构。
定义结构体时,需要使用struct关键字,然后声明结构体变量,最后通过点(.)操作符访问结构体成员。
5. 编程题5.1. 编写一个C语言程序,实现两个整数的加法。
答案:```c#include <stdio.h>int main() {int a, b, sum;printf("Enter two integers: ");scanf("%d %d", &a, &b);sum = a + b;printf("Sum: %d\n", sum);return 0;}```5.2. 请编写一个函数,用于计算并返回一个整数的阶乘。
c试题及答案自考一、选择题(每题2分,共10分)1. 以下哪个选项是计算机科学的基础学科?A. 物理学B. 数学C. 化学D. 生物学答案:B2. 在计算机系统中,CPU代表什么?A. 中央处理单元B. 中央存储单元C. 计算机外围设备D. 计算机输入设备答案:A3. 以下哪个选项是数据库管理系统的常见功能?A. 数据加密B. 数据备份C. 数据压缩D. 所有选项答案:D4. 计算机网络中,TCP/IP协议指的是什么?A. 传输控制协议/互联网协议B. 传输控制协议/互联网协议地址C. 传输控制协议/互联网协议端口D. 传输控制协议/互联网协议套接字答案:A5. 以下哪个选项是计算机操作系统的主要功能?A. 文件管理B. 设备管理C. 程序管理D. 所有选项答案:D二、填空题(每题2分,共10分)1. 在计算机科学中,______是指计算机执行指令的速度。
答案:CPU时钟频率2. 计算机的______存储器用于临时存储数据。
答案:随机访问3. 数据库中的______是指用于存储和管理数据的软件。
答案:数据库管理系统4. 计算机网络中的______协议负责在网络中传输数据。
答案:TCP/IP5. 操作系统的______功能负责管理计算机的硬件资源。
答案:设备管理三、简答题(每题10分,共20分)1. 请简述计算机操作系统的主要功能。
答案:计算机操作系统的主要功能包括进程管理、内存管理、文件系统管理、设备管理和用户界面管理等。
它负责协调计算机硬件和软件资源,为用户提供一个易于操作的环境。
2. 什么是云计算,它有哪些主要特点?答案:云计算是一种通过互联网提供计算资源(如服务器、存储、数据库、网络、软件等)的服务模式。
它的主要特点包括按需自助服务、广泛的网络访问、资源池化、快速弹性、服务的可度量性和多租户。
四、计算题(每题15分,共30分)1. 假设一个计算机系统有4个CPU核心,每个核心的时钟频率为2.5GHz。
计算机二级c 类试题及答案计算机二级C类试题及答案一、选择题(共40题,每题2分,共80分)1. 微型计算机的操作系统是指()A. 硬件系统B. 软件系统C. Windows系统D. Linux系统2. TCP/IP 协议族中的 TCP 是指()A. 传输控制协议B. 互联网协议C. 网际控制协议D. 传输互联协议3. 在C语言中,变量名的命名规则不包括()A. 由字母、数字、下划线组成B. 不能以数字开头C. 区分大小写D. 可以使用保留字4. 下列哪个不是C语言中的逻辑运算符()A. &&B. ||C. !D. \\5. 在C语言中,以下哪个函数用于向控制台输出结果()A. printf()B. scanf()C. gets()D. puts()二、填空题(共10题,每题5分,共50分)1. C语言中,定义常量使用关键字________。
2. 以下哪个函数原型不需要引用任何头文件:________。
3. 在C语言中,使用______关键字来声明函数。
4. 函数参数通过______的方式进行传递。
5. C语言中的指针是用来存储________的变量类型。
6. 声明一个整型数组,数组名为`numbers`,元素个数为10,可以使用的数据类型是______。
7. 在C语言中,使用______运算符来获取某个变量的地址。
8. 静态全局变量的作用域为______。
9. 在C语言中,sizeof运算符返回的结果是变量的________。
10. 在C语言中,用`__FILE__`宏可以返回当前源文件的________。
三、简答题(共4题,每题10分,共40分)1. 简述计算机编程中的“算法”的概念,并列举一个实例。
2. 请解释“位运算”的概念,并举例说明其用途。
3. 简要描述一下指针在C语言中的作用以及使用方法。
4. 请简述动态内存分配的概念,并说明在C语言中如何进行动态内存分配和释放操作。
c大学考试题目及答案解析一、选择题(每题2分,共20分)1. 以下哪个选项不是C语言的基本数据类型?A. intB. floatC. doubleD. string答案:D解析:C语言的基本数据类型包括整型(int)、浮点型(float)、双精度浮点型(double)等,而string类型是C++中引入的,不是C语言的基本数据类型。
2. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. returnC. voidD. function答案:C解析:在C语言中,void关键字用于定义一个函数,而struct用于定义结构体,return用于从函数返回值,function不是C语言的关键字。
3. 下列哪个选项是正确的C语言数组声明?A. int arr[];B. int arr[5] = {0};C. int arr = 5;D. int [5] arr;答案:B解析:在C语言中,声明一个数组需要指定数组的大小,选项B正确地声明了一个大小为5的整型数组,并初始化所有元素为0。
选项A声明了一个未指定大小的数组,选项C错误地将数组大小赋值给一个整型变量,选项D的语法是错误的。
4. 在C语言中,以下哪个选项是正确的字符串声明方式?A. char str[] = "Hello";B. char str = "Hello";C. char str[] = 'Hello';D. char str = 'Hello';答案:A解析:在C语言中,字符串应该使用字符数组来声明,并且使用双引号来表示字符串。
选项A正确地声明了一个字符串,而选项B、C和D 都是错误的声明方式。
5. 下列哪个选项是C语言中正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio>D. #include "stdio"答案:A解析:在C语言中,文件包含指令使用尖括号来包含标准库头文件,使用双引号来包含用户自定义的头文件。
c 考试试卷和答案解析**C 考试试卷和答案解析**一、选择题(每题2分,共40分)1. 下列哪个选项是C语言中正确的整型常量?A. 0x12B. 0.5C. 1e2D. 1.23**答案解析:** 正确答案是A。
0x12是一个十六进制的整型常量,B选项是浮点数,C选项是科学记数法表示的浮点数,D选项也是浮点数。
2. C语言中,以下哪个关键字用于声明一个函数?A. intB. voidD. break**答案解析:** 正确答案是B。
void是用于声明函数的返回类型,表示该函数不返回任何值。
A选项int是整型关键字,C选项return是返回语句,D选项break是循环控制语句。
3. 在C语言中,以下哪个运算符用于执行逻辑“与”操作?A. &&B. ||C. !D. &**答案解析:** 正确答案是A。
&&是逻辑“与”运算符,B选项||是逻辑“或”运算符,C选项!是逻辑“非”运算符,D选项&是位“与”运算符。
4. C语言中,以下哪个语句用于循环直到满足某个条件?A. ifC. forD. switch**答案解析:** 正确答案是B。
while循环会一直执行,直到条件不再满足。
A选项if是条件语句,C选项for是循环语句,D 选项switch是多分支选择语句。
5. C语言中,以下哪个函数用于计算两个整数的绝对值?A. abs()B. fabs()C. sqrt()D. pow()**答案解析:** 正确答案是A。
abs()函数用于计算整数的绝对值。
B选项fabs()是计算浮点数绝对值的函数,C选项sqrt()是计算平方根的函数,D选项pow()是计算幂的函数。
6. 在C语言中,以下哪个关键字用于声明一个全局变量?B. externC. autoD. register**答案解析:** 正确答案是B。
extern关键字用于声明一个全局变量,表示该变量在其他文件中定义。
c考试试题及答案一、选择题(每题2分,共10分)1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项不是C语言中的控制语句?A. ifB. whileC. switchD. loop答案:D3. 在C语言中,用于定义一个结构体的关键字是什么?A. structB. unionC. defineD. typedef答案:A4. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. 下列哪个选项不是C语言中的预处理命令?A. #includeB. #defineC. #ifdefD. switch答案:D二、填空题(每题2分,共10分)1. 在C语言中,用____关键字定义一个变量。
答案:int2. 用于在C语言中进行文件操作的库函数是____。
答案:stdio.h3. 在C语言中,用于计算两个整数相加的运算符是____。
答案:+4. 在C语言中,用于定义一个指针的语法是____。
答案:*变量名5. 在C语言中,用于定义一个数组的语法是____。
答案:类型名数组名[大小]三、简答题(每题5分,共20分)1. 请简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以作为指向数组第一个元素的指针使用。
指针可以用于访问数组中的元素。
2. 解释C语言中什么是函数原型。
答案:函数原型是函数声明的一部分,它提供了函数的返回类型、函数名和参数列表,但不包括函数体。
3. 请简述C语言中全局变量和局部变量的区别。
答案:全局变量是在函数外部定义的,它们在整个程序中都可以访问。
局部变量是在函数内部定义的,它们只能在定义它们的函数内部访问。
4. 在C语言中,如何使用指针指向一个结构体?答案:使用指针指向结构体的方法是使用结构体类型的指针变量,然后通过地址运算符(&)获取结构体变量的地址赋给指针。
全国2008年10月自学考试C++程序设计试题答案(供同学们参考,有争议的答案,请留言)一、选择题1.A2. C3.C4.A5.A6.A7. C8.A9.B 10.C11.D 12.A 13.B 14.B 15.A16.B 17.B 18.A 19.B 20.B二、填空题21.ofstream myFile(“f:\\myText.txt)22.ios23. 类24.virtual25.front()26.vector <char> E(20,’t’)27. 数据成员28.多态性29.#include30.void (A::*pafn) (void)31.delete [] prt32.不可访问的33.734. 必要的参数35. 地址值36.-137. bool38. 2910039.Hex:ff40.endl三、改错题41.错误 *p=y;修改意见:将const int *p=&x 中的const去掉42.错误:a.f1(1,1)修改意见:增加一个f1的函数重载:void f1(int I,int j){x=I; y=j;} 43.错误:private:int x=0,y=0;修改意见:private:int x,y;44.错误:cout<<a.max(a,b);修改意见:cout<<max(a,b);45.错误:f a;改为:f <float> a;四、完成程序题46.(1) n (2) point &t47.(1) const (2) cin<<r48.(1)complex & a(2) complex (r,i);49.(1)ptr+1 (2) prt->get()50.(1) float cha(float, float);(2) cha(a,b)五、程序分析题51. s1 和s2的数据成员不相等s3和s4的数据成员相等52. 7 5.0y a53.131554.书名:数据结构作者:严蔚敏月销售量:200书名:C++语言程序设计作者:李春葆月销售量:210六、程序设计题void settri()//用于输出三个顶点坐标{int a,b;cout<<"input the firest point"<<endl;cin>>a>>b;x.set(a,b);cout<<"input the second point"<<endl;cin>>a>>b;y.set(a,b);cout<<"input the third point"<<endl;cin>>a>>b;z.set(a,b);cout<<"the three point's codinate is:"<<endl;cout<<"x:"<<x.getx()<<","<<x.gety()<<endl;cout<<"y:"<<y.getx()<<","<<y.gety()<<endl;cout<<"z:"<<z.getx()<<","<<z.gety()<<endl;}void test()//用于判断是否构成三角形{if((x.gety()-y.gety())/(x.getx()-y.getx())!=(y.gety()-z.gety())/(y.getx()-z.get x()))cout<<"yes"<<endl;//平面中的三个点只要不在一条直线上就可以构成三角形,不需要三边elsecout<<"no"<<endl;}};void main(){tri a;a.settri();a.test(); system("pause"); }。
c语言程序设计考试题答案及解析一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B解析:在C语言中,标识符可以由字母、数字和下划线组成,但不能以数字开头,也不能包含特殊字符如$、-等。
2. C语言中,哪个关键字用于声明一个整型变量?A. intB. floatC. doubleD. char答案:A解析:int是用于声明整型变量的关键字,float用于声明浮点型变量,double用于声明双精度浮点型变量,char用于声明字符型变量。
3. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ||D. &答案:A解析:&&是逻辑与运算符,||是逻辑或运算符,&是按位与运算符,而|是按位或运算符。
4. C语言中,哪个函数用于计算两个整数的和?A. max()B. min()C. sum()D. pow()答案:C解析:sum()函数通常用于计算两个整数的和,而max()和min()函数分别用于找出两个数中的最大值和最小值,pow()函数用于计算幂。
5. 在C语言中,哪个关键字用于循环结构?A. ifB. whileC. forD. switch答案:B、C解析:while和for都是C语言中的循环结构关键字,if用于条件判断,switch用于多条件分支选择。
6. C语言中,哪个函数用于输出字符串?A. printf()B. scanf()C. gets()D. puts()答案:D解析:puts()函数用于输出字符串,printf()用于格式化输出,scanf()用于输入,gets()函数已不推荐使用,因为它可能导致缓冲区溢出。
7. 下列哪个选项是C语言中的数组声明?A. int a[10];B. int a[];C. int a;D. int a=10;答案:A解析:int a[10];是声明一个有10个元素的整型数组的正确方式,B 选项没有指定数组大小,C选项声明了一个整型变量,D选项是对整型变量进行赋值。
C语言试题及答案C语言试题及答案讷讷寡言者未必愚,喋喋利口者未必智。
以下是店铺为大家搜索整理C语言试题及答案,希望能给大家带来帮助!一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 一个完整的计算机系统包括A.主机、键盘与显示器B.计算机与外部设备C.硬件系统与软件系统D.系统软件与应用软件(2) 十六进制数1000转换成十进制数是A.4096B.1024C.2048D.8192(3) 十进制数269转换成十六进制数是A.10EB.10DC.10CD.10B(4) 如果用八位二进制补码表示带符号的定点整数,则能表示的十进制数的范围是A.-127到+127B.-128到+128C.-127到+128D.-128到+127(5) 下列设备中,既可作为输入设备又可作为输出设备的是B.打印机C.键盘D.磁盘驱动器(6) 下列各叙述中,正确的是A.正数十进制原码的补码是原码本身B.所有的十进制小数都能准确地转换为有限位二进制小数C.汉字的计算机内码就是国标码D.存储器具有记忆能力,其中的信息任何时候都不会丢失(7) 在下列操作中,能导致DOS系统重新启动但不进行系统自检的是A.加电开机B.按+C.按++D.按RESET按钮(8) 如果给定一个带有通配符的文件名F*.?,则在下列各文件中,它能代表的文件名是A.FA.EXEB.F.CC.EF.C(9) DOS系统启动后,下列文件中常驻内存的是A.*.COMC.AUTOEXEC.BAT(10) 设A盘的目录结构为(画方框的为目录)如果当前盘为C盘,A盘的当前目录为\D2,则下列对A盘上文件QR.C的指定中,合法的是A.\D2\D4\QR.CC.A:D4\QR.CD.A:D2\D4\QR.C(11) 为了要将A盘当前目录(不是根目录)中所有扩展名为.C的文件同名复制到A痰哪柯糪USER中,正确的命令是A.COPY A:*.C USER\*.CB.COPY A:*.C A:\USERC.COPY A:*.C A:USER\D.COPY A:*.C A:USER\*.C(12) 为了在屏幕上一次显示当前盘当前目录下的所有扩展名为.TXT的文件内容,下列命令中正确的是A.TYPE *.TXTB.TYPE *.TXT CONC.COPY *.TXT>COND.COPY *.TXT CON(13) 设当前盘为A盘,为了将当前盘当前目录下的文件AB1.TXT 连接在C盘根目录下的文件XYZ.TXT的后面,正确的命令是A.COPY C:\XYZ.TXT+AB1.TXTB.COPY AB1.TXT>>C:\XYZ.TXTC.TYPE AB1.TXT>C:\XYZ.TXTD.COPY AB1.TXT+C:\XYZ.TXT>C:\XYZ.TXT(14) 设A盘为启动盘,其目录结构为(画方框的为目录)其中文件AUTOEXEC.BAT的内容为MD \XYZCD \DOS\USER则由A盘启动成功后,A盘的当前目录是A.\DOS\USERB.\XYZC.\D.\DOS(15) 下列DOS命令中为内部命令的是B.PATHC.PRINTD.FORMAT(16) 设当前盘为C盘,所用的所有软盘已格式化且容量相同,则下列DOS命令中错误的是A.DISKCOPY A: C:B.DISKCOPY A: A:C.COPY A:*.*D.COPY A:*.* C:(17) 下列DOS命令中,有错误的是A.TYPE AAB.FOR>PRNB.TYPE ?AB.FORC.COPY *.C PRND.COPY CON PRN(18) 设当前盘为C盘,在当前目录下有全部的DOS系统文件与批处理命令文件AB.BAT,且该批处理命令文件的内容为FORMAT A:/4MD \XYZCD \XYZRD \XYZMD \XYZ如果在1.2软盘驱动器A中插入一张360K容量的软盘片,执行批自理命令文件AB.BAT后,结果A盘的目录结构是A.根目录B.根目录----子目录XYZ----子目录XYZC.根目录─┬─ 子目录XYZ└─ 子目录XYZD.根目录----子目录XYZ(19) 下列带有通配符的文件名,能代表文件ABC.FOR的是B.A?.*C.?BC.*D.?.?(20) 设当前盘为C盘,且C盘上含有子目录\DOS,A盘为只有根目录的启动盘(根目录下只有三个DOS系统文件与扩展名为. C的文件)。
一、选择题1、关于C语言数据类型的叙述,正确的是(C)。
A)枚举类型不是基本类型B)数组不是构造类型C)变量必须先定义后使用D)不允许使用空类型2、下面关于C语言用户标识符的描述,正确的是(D)。
A)不区分大小写B)用户标识符不能描述常量C)类型名也是用户标识符D)用户标识符可以作为变量名3、下面叙述正确的是(B)。
A)2/3与2.0/3.0等价B)(int)2.0/3与2/3等价C)++5与6等价D)‟A‟与”A”等价4、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)。
A)scanf(“%d”,&a); B)scanf(“%lf”,&a);C)scanf(“%c”,&a);D)scanf(“%u”,&a);5、下面叙述中,(A)不是结构化程序设计三种基本结构的共同特点。
A)先判断后执行B)单入口,单出口C)程序中没有执行不到的语句D)无死循环6、已知int a=3, b=5; 则表达式a && ! b 的值为(C)。
A)3 B)2 C)0 D)17、已知char a=‟R‟;则正确的赋值表达式是(A)。
A)a=(a++)%4 B)a+2=3 C)a+=256-- D)a=‟\078‟8、以下的语句中,无内嵌的if语句是(B)。
A)if(x= =y) x+=y;B)if(x>y && x!=y);x+=y;C)if(x!=y)scanf(“%d”,&x);elsescanf(“%d”,&y);D)if(x<y){x++;y++;}9、设有整型变量x,下述语句(B)不会出现死循环。
A)for( ; ; x+=1) B)for( ; (x=getchar())!=‟\n‟; ) ;C)while(1) {x++ ;} D)for(x=10; ;x--) ;10、下列数组声明中,正确的是(A)。
A)int a[5]={0}; B)int a[]={0 1 2}; C)int a[5]=0; D)int a[] ;11、以下数组定义中,正确的是(D)。
A)int a[2][3]={1,2,3,4,5,6,7}; B)int a[][]={{1,2,3},{4,5,6},{7,8,9}};C)int a[2][]={1,2,3,4,5,6}; D)int a[][4]={6};12、设有如下数组定义:char str[8]={“FuJian”};则分配给数组str的存储空间是(C)字节。
A)6 B)7 C)8 D)913、以下程序的运行结果是(A)。
int fun(int array[4][4]){int j;for(j=0;j<4;j++) printf(“%2d”,array[2][j]);printf(“\n”);}main(){int a[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0};fun(a);}A)2 0 0 5 B)1 0 0 4 C)0 1 2 0 D)0 4 5 014、若有以下宏定义,#define MOD(x,y) x%y则执行以下程序段后,z的值是(D)。
int z,a=15,b=100;z=MOD(b,a);A)100 B)15 C)11 D)1015、对于基类型相同的两个指针变量之间,不能进行的运算是(C)。
A)< B)= C)+ D)-16、若函数fun的函数头为:int fun(int i,int j)且函数指针变量p定义如下:int (*p)(int i,int j);则要使指针p指向函数fun的赋值语句是(B)。
A)p=*fun(); B)p=fun; C)p=fun(i,j); D)p=&fun;17、设有以下定义语句:struct student{int num;char name[10];float score;}wang,zhang;则不正确的叙述是(C)。
A)struct是结构体类型的关键字B)zhang是结构体变量名C)wang是结构体类型名D)num,name,score都是结构体类型student 的成员名18、若有以下定义:struct link{int data;struct link *next;}*head,*p;并已建立如下图所示的链表结构:head指针p指向如下结点:则能够把p所指结点插入到链表中成为链表第2个结点的程序段是(A)。
A)p->next=head->next;head->next=p;B)head->next=p;p->next=head->next;C)p.next=head.next;head.next=p;D)(*head).next=p;(*p).next=(*head).next;19、设有如下定义:typedef int *INTEGER;INTEGER p,*q;则(C)是正确的叙述。
A)p是int型变量B)q是基类型为int的指针变量C)p是基类型为int的指针变量D)程序中可用INTEGER代替int类型名20、以下程序的可执行文件名是file.exe。
main()int argc;char *argv[];{int i;for(i=2;i<argc;i++)printf(“%s%c”,argv[i],(i<argc-1)?‟ …: …\n‟);}在DOS命令行输入:file My C Language and Programming<回车>,其输出结果是(A)。
A)C Language and Programming B)My C Language and ProgrammingC)MyCLanguageandProgramming D)file My C Language and Programming 21、在C语言源程序中,以下叙述正确的是(C)。
A)main函数必须位于文件的开头B)每行只能写一条语句C)程序中的一个语句可以写成多行D)每个语句的最后必须有点号22、下面关于算术运算符的叙述,错误的是(A)。
A)其运算对象不包含函数B)%(模运算符)的运算对象只能为整型量C)算术运算符的结合方向是“自左至右”D)自加和自减运算符的结合方向是“自右至左”23、下面叙述中,(A)不是结构化程序设计中的三种基本结构之一。
A)数据结构B)选择结构C)循环结构D)顺序结构24、已知double a=5.2; 则正确的赋值表达式是(A)。
A)a+=a-=(a=4)*(a=3) B)a=a*3=2C)a%3 D)a=double(-3)25、逻辑运算符的优先级依次为(C)。
A)|| && ! B)&& || ! C)! && || D)! || && 26、对于整型变量x,与while(!x) 等价的是(B)。
A)while(x!=0) B)while(x= =0) C)while(x!=1) D)while(~ x)27、下列数组声明中,正确的是(A)。
A)int a[10]; B)int n=10,a[n];C)int N=10;int a[N]; D)int n;scanf(“%d”,&n);int a[n];28、有如下定义:char str[6]={…a‟,‟b‟,‟\0‟,‟d‟,‟e‟,‟f‟};则语句:printf(“%s”,str);的输出结果是(D)。
A)ab\ B)abdef C)ab\0 D)ab29、执行以下程序段的输出结果是(B)。
int a=10,*p=&a;printf(“%d”,++*p);A)10 B)11 C)变量a的地址D)变量a的地址+1 30、若有以下程序段,且0≤i<4,0≤j<3,则不能正确访问a数组元素的是(D)。
int i,j,(*p)[3];int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};p=a;A)*(*(a+i)+j) B)p[i][j] C)*(p+i) [j] D)p[i]+j 31、若有以下定义:struct link{int data;struct link *next;}*head,*p;并已建立如下图所示的链表结构:phead……则能保留链表其它结点,而删除P所指向结点的程序段是(A)。
A)head->next=p->next;free(p)B)head->next=p;p->next=head->next;free(p);C)free(p);head->next=p;p->next=head->next;D)free(p);head->next=p->next;32、假定已有如下变量说明和枚举定义:char ch;int j,k;enum day{sun,mon,tue,wed,thu,fri,sat};int a[sat]判断下列语句是否符合语法规则,结果是(C)。
char a; /*语句1 */j+k=j; /*语句2 */if(a[mon]>0) j++; /*语句3 */A)语句2错误,其它正确B)语句1正确,其它错误C)语句3正确,其它错误D)语句1错误,其它正确33、以下(D)是正确的常量。
A)E-5 B)1E5.1 C)‟a12‟D)32766L34、标准函数fgets(s,n,f)的功能是(B)。
A)从文件f中读取长度为n的字符串存入指针s所指的内存B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存C)从文件f中读取n个字符串存入指针s所指的内存D)从文件f中读取长度为n-1的字符串存入指针s所指的内存35、关于C语言的源程序的叙述中,错误的是(C)。
A)C语言的源程序由函数构成B)main函数可以书写在自定义函数之后C)必须包含有输入语句D)一行可以书写多个语句36、下面叙述正确的是(A)。
A)强制类型转换运算的优先级高于算术运算B)若a和b是整型变量,(a+b)++是合法的C)‟A‟*‟B‟是不合法的D)”A”+”B”是合法的37、设有以下语句,则(D)是对a数组元素的不正确引用,其中0≤i<10。
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A)a[p-1] B)*(&a[i]) C)p[i] D)*(*(a+i))38、结构化程序设计不包括(A)。
A)最优化B)自顶而下,逐步细化C)模块化设计D)结构化编码39、已知int a=3,b=5; 则表达式a= =3 && b !=1的值为(C)。