c语言二级考试真题及答案 (8)

合集下载

2018年9月计算机二级C语言考试章节习题及答案(8)

2018年9月计算机二级C语言考试章节习题及答案(8)

2018年9月计算机二级C语言考试章节习题及答案(8) 第2章 C程序设计的初步知识2.5 算术表达式1 [单选题] 以下不能正确计算代数式值的C语言表达式是( )。

A.1/3*sin(1/2)*sin(1/2)B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)参考答案:A2 [单选题] 若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( )。

A.1B.0C.2D.不知道a的值,不能确定参考答案:A参考解析:逻辑或”||”要求只要两边的运算对象有一个非零,结果就为真。

虽然不知道a的值,但是若a为l,则左边运算对象为1;若a的值不是1,则右边运算对象的值为1,所以总能保证一边非零,所以结果为真,即1。

3 [单选题] 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )A.x=x*100+0.5/100.0;B.x=(x*100+0.5)/100.0;C.x=(int)(x*100+0.5)/100.0;D.x=(x/100+0.5)*100.0;4 [单选题] 表达式3.6-5/2+1.2+5%2的值是( )。

A.4.3B.4.8C.3.3D.3.8参考答案:D 。

参考解析:此题考核的是算术运算符的运算规则,算术运算符的结合方向为“自左至右”,先按运算符的优先级别高低次序执行,同时在C中两个整数相除或求余数其结果依旧为整数。

计算后结果为3.8。

5 [单选题] 已知字母A的ASCIl代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是A.kk>='A'&&kk<='Z'B.!(kk>='A'||kk<='Z')C.(kk+32)>='a'&&(kk+32)<='z'D.isalpha(kk)&&(kk<91)参考答案:B6 [单选题] 当变量 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)参考答案:B参考解析:条件语句if(a>B.不成立,所以语句a=b;不执行,语句c=a;执行后, c=3,此时条件语句if(C!=A.不成立,所以语句c=b;不执行。

二级C++语言程序设计模拟试题及答案解析(8)

二级C++语言程序设计模拟试题及答案解析(8)

二级C++语言程序设计模拟试题及答案解析(8)(1/40)单项选择题第1题下面叙述中错误的是______。

A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为DebugD.软件测试应严格执行测试计划,排除测试的随意性下一题(2/40)单项选择题第2题下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是______。

A.cout<<internal<<32345;B.cout<<left<<12345;C.cout<<right<<12345;D.cout<<setw(6)<<12345;上一题下一题(3/40)单项选择题第3题有如下程序:#include<iostream>using namespace std;class test{private:int a;public:test(){cout<<"constructor"<<endl;}test(int a){cout<<a<<endl;}test(const test &_test){a=_test.a;cout<<"copy constructor"<<endl;}~test(){cout<<"destructor"<<endl;}};int main(){test A(3);return 0;}执行这个程序的输出结果是______。

A.3B.constructordestructorC.copy constructordestructorD.3destructor上一题下一题(4/40)单项选择题第4题索引属于A.模式B.内模式C.外模式D.概念模式上一题下一题(5/40)单项选择题第5题C++模板包括。

A.类模板和函数模板B.模板类和模板函数C.类和函数D.对象和函数上一题下一题(6/40)单项选择题第6题有如下程序:#include<iostream>using namespace std;class Base{protected:Base(){cout<<'Base';}Base(char c){cout<<c;}};class Derived:public Base{public:Derived(char c){cout<<c;}};int main(){Derived d('Derived');return 0;}执行这个程序屏幕上将显示输出。

全国计算机二级考试《C语言》真题练习及答案

全国计算机二级考试《C语言》真题练习及答案

全国计算机二级考试《C语言》真题练习及答案全国计算机二级考试《C语言》真题练习及答案一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234B)'\123'C)123D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0B)3.0e0.2C)E9D)9.12E(15)若有定义语句: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);(16)有以下程序段char name[20];int num;scanf("name=%snum=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)LiliB)name=LiliC)Lilinum=D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12B)11C)10D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case 2:printf("%d",s+4);break;case 3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 34 5 0<回车>,则输出结果是A)6566456B)66656C)66666D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n);continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行。

二级c语言套题+答案(八)

二级c语言套题+答案(八)
A:aa数组元素的值分别是"abcd"和"ABCD"
B:aa是指针变量,它指向含有两个数组元素的字符型一维数组
C:aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D:aa数组的两个元素中各自存放了字符'a'和'A'的地址
答案:D
第27题(1.0分)
下列程序段的输出结果为()。int a=7,b=9,t;t=a*=a>b?a:b;printf("%d",t);
A:ABC
B:"ABC"
C:'ABC'
D:'A'
答案:B
第10题(1.0分)
C语言源程序名的后缀是
A:exe
B:c
C:obj
D:cp
答案:B
第11题(1.0分)
凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。
A:自动(auto)
B:静态(static)
C:外部(extern)
D:寄存器(register)
printf("%d",j++);
}
A:3,3
B:3,4
C:4,3
D:4,4
答案:D
第14题(1.0分)
整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的
表达式是()。
A:x || y
B:x | y
C:x & y
D:x ^ y
答案:D
第15题(1.0分)
位字段数据的单位是()位。
A:十六进制
A:break语句
B:return语句

计算机二级考试真题及答案c语言

计算机二级考试真题及答案c语言

计算机二级考试真题及答案c语言一、单项选择题(每题1分,共20分)1. 在C语言中,以下哪个关键字用于声明函数?A. structB. unionC. intD. void答案:D2. 若有定义int a=5; 则执行以下语句后,变量a的值是多少?A. a=(a++)+(++a)+a;B. a=a--+(++a)+a;C. a=(a++)+(++a)+a--;D. a=(a++)+(++a)+a--;答案:A3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. /B. %C. *D. ^答案:C4. 下列哪个选项是C语言中合法的字符常量?A. 'a'B. "a"C. 'ab'D. '\t'答案:D5. 在C语言中,以下哪个选项是合法的数组声明?A. int a[5];B. int a[];C. int a[5][5];D. int a[5,5];答案:A6. 若有定义int x=10; 则执行以下语句后,变量x的值是多少?A. x=x+++x;B. x=++x+x--;C. x=x--+x++;D. x=x+++x--;答案:B7. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A8. 在C语言中,以下哪个选项是合法的指针声明?A. int *p;B. int *p[];C. int (*p)();D. int (*p)[5];答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do{}while(0)D. all of the above答案:D10. 在C语言中,以下哪个选项是合法的函数声明?A. int func();B. void func(int a);C. int func(int a, int b);D. all of the above答案:D11. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. all of the above答案:A12. 在C语言中,以下哪个选项是合法的文件操作函数?A. fopenB. fcloseC. freadD. all of the above答案:D13. 在C语言中,以下哪个选项是合法的字符串操作函数?A. strcpyB. strncpyC. strcatD. all of the above答案:D14. 在C语言中,以下哪个选项是合法的动态内存分配函数?A. mallocB. callocC. reallocD. all of the above答案:D15. 在C语言中,以下哪个选项是合法的位操作运算符?A. &B. |C. ^D. all of the above答案:D16. 在C语言中,以下哪个选项是合法的预处理指令?A. #includeB. #defineC. #ifdefD. all of the above答案:D17. 在C语言中,以下哪个选项是合法的类型转换运算符?A. (int)xB. (float)xC. (char)xD. all of the above答案:D18. 在C语言中,以下哪个选项是合法的条件运算符?A. ?B. :C. ||D. &&答案:A19. 在C语言中,以下哪个选项是合法的多维数组声明?A. int a[5][5];B. int a[][5];C. int a[5][];D. int a[][];答案:A20. 在C语言中,以下哪个选项是合法的枚举类型声明?A. enum color {red, green, blue};B. enum {red, green, blue};C. enum color {0, 1, 2};D. all of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用关键字________声明一个函数。

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: 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]); 的输出结果是( C )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30C. 60D. 756. .以下程序的输出结果是( c )。

main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1B. a++C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?a:d的结果是( a )A.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。

全国计算机c语言程序设计二级考试真题

全国计算机c语言程序设计二级考试真题

1、在C语言中,若需定义一个标识符以表示一个常量,通常使用:
A. const 关键字
B. #define 预处理指令
C. enum 关键字
D. typedef 关键字
(答案)B
2、以下哪个选项正确地描述了C语言中数组的内存分配?
A. 数组元素在内存中连续存储
B. 数组元素在内存中随机存储
C. 数组名代表数组第一个元素的值
D. 数组大小可以在运行时动态改变
(答案)A
3、在C语言中,关于指针的下列说法中,哪一个是正确的?
A. 指针变量的值可以是一个整数
B. 指针变量可以进行算术运算
C. 所有指针类型的大小都相同,但与所指向的数据类型有关
D. 一个指针变量只能指向一个固定类型的变量
(答案)B
4、在C语言中,若要在函数内部修改一个全局变量的值,需要:
A. 使用extern关键字声明该变量
B. 直接使用全局变量名,无需特别声明
C. 通过指针传递全局变量的地址
D. 将全局变量作为函数参数传递
(答案)B
5、以下哪个不是C语言的基本数据类型?
A. int
B. float
C. string
D. char
(答案)C
6、关于C语言中的结构体(struct),以下说法错误的是:
A. 结构体可以包含不同类型的数据成员
B. 结构体变量可以通过.运算符访问其成员
C. 结构体成员在内存中的顺序是固定的
D. 结构体类型的大小等于其所有成员大小之和
(答案)D。

c语言二级考试题及答案

c语言二级考试题及答案

c语言二级考试题及答案一、选择题1. 在C语言中,以下哪个不是合法的变量名?A. my_varB. _myvarC. 2variableD. var_name答案:C2. 下列哪个语句是正确的C语言语句?A. int a = 10;B. int a = '10';C. int a = "10";D. int a = 10.0;答案:A3. 在C语言中,以下哪个是正确的数组声明?A. int arr[10];B. int arr[];C. int arr = 10;D. int [10] arr;答案:A4. C语言中,以下哪个是正确的函数声明?A. void myFunction();B. int myFunction() { ... }C. myFunction();D. int myFunction;答案:A5. 在C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A二、填空题6. 在C语言中,用于定义一个字符常量的是单引号,例如:'A'。

请填空:用于定义一个字符串常量的是什么?______答案:双引号7. C语言中,以下代码段的输出结果是什么?```cint main() {int a = 5, b = 10;printf("%d", a + b);return 0;}```请填空:输出结果是______答案:158. 在C语言中,若要将一个整数转换为字符,可以使用______函数。

答案:int_to_char 或者 char9. 在C语言中,若要读取一个字符串,可以使用______函数。

答案:gets 或者 fgets10. 在C语言中,若要计算两个数的最大值,可以使用______宏。

答案:max三、简答题11. 请简述C语言中指针的概念。

答案:指针是C语言中的一种数据类型,它存储了另一个变量的内存地址。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2009年4月,全国计算机等级二级C考试你准备好了没?考计算机等级二级C语言考试的朋友可以多关注一下考试365为大家整理的2009年4月,全国计算机等级二级C语言考前练习!希望对大家的备考有好的帮助!考试365祝各位考个好成绩!大家每天都来练习哦!不断的加强巩固!每天都有更新哦!考试365提示:每十道题的难度不同!继续上一篇...1.有以下结构体说明和变量的定义,且如下图所示指针p指向变量a,指针q指向变量b。

则不能把结点b连接到结点a之后的语句是()struct node{char data;struct noe*next;}a,b,*p= &a,*q=&b;A)a.next=q;B)p.next= &b;C)p- >next=&b;D)(*p).next=q;?2.若有如下定义:int(*p)(),*q();则下列说法正确的是()A)p是一个函数名,q是一个指针变量B)p是一个指向整型变量的指针变量,q是一个指向一维数组的指针变量C)p和q是等价的,都是指针变量D)p是指向函数的指针变量,函数的返回值是整型数据;q是带回指针值的函数3.有以下程序# includemain(){ float x,y;scanf( "%f",&x);if(x <0.0)y=0.0;else if((x <5.0)&&(x!=2.0))y=1.0/(x+2.0);else if(x <10.0)y=1.0/x;else y=10.0printf( "%f\n",y);}若运行时从键盘上输入2.0 (表示回车),则上面程序的输出结果是()A)0.000000B)0.250000C)0.500000D)1.0000004.以下程序段中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是()A)main (){int*p;fun (p);…}intfun (int*p){ int s;p= &s;}B)main{int*p;fun ( &p);…}intfun (int**p){ints;*p= &s;}C)#includemain (){int*p;fun ( &p);…}intfun (int**p){*p=(int*)malloc (2); }D)#includemain (){ int*p;fun (p);…}int fun (int*p){p=(int*)malloc(sizeof (int)); }5.执行下列程序时输入:23 <空格>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)1,456,789B)1,23,456C)1,23,456,789D)23,456,7896.有以下程序#include#includemain(){ char b1[8]= "abcdefg",b2[8],*pb=b1+3;while(--pb >b1)strcpy(b2,pb);printf( "%d\n",strlen(b2));}程序运行后的输出结果是()A)8B)3C)1D)67.设有如下定义和声明:structs{ inta;structs*next};structsx[4]={1, &x[1],3,&x[2],5,&x[3],7,’\0’},*t;t= &x[0];则下列表达式值为2的是()A)++t- >aB)(*t).a++C)t- >a++D)t++- >a8.若有如下程序:main(){int a=6; char ch=c;printf( "%d\n",(a&2)&&(ch<′m′));}则程序运行后的输出结果是()A)0B)1C)2D)39.下列说法不正确的是()A)下列结构体定义时,占据了5个字节的空间struct s {int num;int age;char sex;}B)结构体的成员名可以与程序中的变量名相同C)对结构体中的成员可以单独使用,它的作用相当于普通变量D)结构体的成员可以是一个结构体变量10.若要打开A盘中user子目录下名为aaa.txt的文本文件进行读、写操作,下面符合此要求的函数调用是()A)fopen( "A:\user\aaa.txt","r")B)fopen( "A:\\user\\aaa.txt","r+")C)fopen( "A:\user\aaa.txt","rb")D)fopen( "A:\\user\\aaa.txt","w")答案:1.B 2.D 3.C 4.C 5.B 6.D 7.A 8.A 9.A 10.B2009年4月,全国计算机等级二级C考试你准备好了没?考计算机等级二级C语言考试的朋友可以多关注一下考试365为大家整理的2009年4月,全国计算机等级二级C语言考前练习!希望对大家的备考有好的帮助!考试365祝各位考个好成绩!大家每天都来练习哦!不断的加强巩固!每天都有更新哦!考试365提示:每十道题的难度不同!继续上一篇...1.分析以下程序,执行后的输出结果是()int f1(int x,int y){return x >y? x:y;}int f2(int x,int y){return x >y? y:x;}main(){int a=4,b=3,c=5,d,e,f;d=f1(a,b);d=f1(d,c);e=f2(a,b);e=f2(e,c);f=a+b+c-d-e;printf( "%d,%d,%d",d,f,e);}A)3,4,5B)5,3,4C)5,4,3D)3,5,42.分析下面函数swap(int *p1,*p2){ int *p;*p=*p1;*p1=*p2;*p2=*p;}则该程序功能为()A)交换*p1和*p2的值B)正确,考试365提示:但无法改变*p1和*p2的值C)交换*p1和*p2的地址D)可能造成系统故障,因为使用了空指针3.有以下程序main(){int n[3],i,j;for(i=0;i <3;i++)n[i]=0;for(i=0;i <2;i++)for(j=0;j <2;j++)n[j]=n[i]+1;printf( "%d\n",n[1]);}程序运行后的输出结果是()A)2B)1D)34.有如下程序段:int a=14,b=15,x;char c=′A′;x=(a &&b)&&(c<′B′);执行该程序段后,x的值为()A)1B)0C)falseD)true5.有以下程序# includestruct NODE{int num;struct NODE*next;}main(){struct NODE*p,*q,*r;p=(struct NODE*)malloc(sizeof(struct NODE)); q=(struct NODE*)malloc(sizeof(struct NODE)); r=(struct NODE*)malloc(sizeof(struct NODE)); p- >num=10;q->num=20;r->num=30;p- >next=q;q->next=r;printf( "%d\n",p->num+q->next->num);}程序运行后的输出结果是()A)10B)20C)30D)406.设有如下定义:structsk{ inta;float b;} data;int *p;若要使p指向data中的a域,正确的赋值语句是()A)p= &a;B)p=data.a;C)p= &data.a;D)*p=data.a;7.若有如下说明:unions{char a[9];intb;float c;则下列叙述正确的是()A)共用体变量t不能作为函数的参数B)通过引用共用体变量名t可以得到成员的值C)共用体变量t的地址和它的各成员的地址不同D)共用体变量t所占的内存长度等于它的各成员所占的内存长度之和8.若定义了以下函数:void sub(......){......*t=(int*)malloc(10*sizeof(int));......}其中t是该函数的形参,要求通过t把动态分配存储单元的地址传回主调函数,则形参t的正确定义应该是()A)int *tB)int **tC)long **tD)long *t9.以下对枚举类型名的定义中正确的是()A)enum a={one,two,three};B)enum a {one=9,two=-1,three=200};C)enum a={ "one","two","four"};D)enum a { "nine","two","three"};10.C语言规定如果调用fputc函数输出成功,则返回值是()A)1B)输出的字符C)0D)true答案:1.C 2.D 3.D 4.A 5.D 6.C 7.A 8.B 9.B 10.B2009年4月,全国计算机等级二级C考试你准备好了没?考计算机等级二级C语言考试的朋友可以多关注一下考试365为大家整理的2009年4月,全国计算机等级二级C语言考前练习!希望对大家的备考有好的帮助!考试365祝各位考个好成绩!大家每天都来练习哦!不断的加强巩固!每天都有更新哦!考试365提示:每十道题的难度不同!继续上一篇...1.s1和s1已正确定义并分别指向两个字符串,若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是()A)if(s1>s2)S;B)if(strcmp(s1,s2))S;C)if(strcmp(s2,s1)>0)S;D)if(strcmp(s1,s2)>0)S;2.设有定义语句intx[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是()A)for(i=0;i<6;i++)printf("%2d",*(p++));B)for(i=0;i<6,i++)printf("%2d",*(p+i));C)for(i=0;i<6;i++)printf("%2d",*p++);D)for(i=0;i<6;i++)printf("%2d",(*p)++);3.以下程序的输出结果是()#includemain(){int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;*q=*(q+5);printf("%d%d\n",*p,*q);}A)运行后报错B)66C)611D)5104.设有以下定义和语句int a[3][2]={1,2,3,4,5,6},*p[3];p[0]=a[1];则*(p[0]+1)所代表的数组元素是()A)a[0][1]B)a[1][0]C)a[1][1]D)a[1][2]5.以下程序的输出结果是()main(){char str[][10]={"china","Beijing"},*p=str;printf("%s\n",p+10);}A)ChinaB)BeijingC)ngD)ing6.Examda提示: 以下程序的输出结果是()main(){char s[]="ABCD",*p;for(p=s+1;p }A)ABCDBCDCDDB)ABCDC)BCDD)BCDCDD7.在函数调用过程中,如果函数funA调用了函数funB,函数funB Examda提示: 又调用了函数funA,则()A)称为函数的直接递归调用B)称为函数的间接递归调用C)称为函数的循环调用D)C语言中不允许这样的递归调用8.已有定义:int i,a[10],*p;,则合法的赋值语句是()A)p=10;B)p=a[5]C)p=a[2]+2;D)p=a+2;9.以下叙述中正确的是()A)局部变量说明为static的存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同10.设有定义语句:char c1=2,c2=2;,则以下表达式中值为零的是()A)c1^c2B)c1&c2C)~c2D)c1|c2答案:1.D 2.D 3.A 4.C 5.B 6.D 7.B 8.D 9.A 10.A来2009年4月,全国计算机等级二级C考试你准备好了没?考计算机等级二级C语言考试的朋友可以多关注一下考试365为大家整理的2009年4月,全国计算机等级二级C语言考前练习!希望对大家的备考有好的帮助!考试365祝各位考个好成绩!大家每天都来练习哦!不断的加强巩固!每天都有更新哦!考试365提示:每十道题的难度不同!继续上一篇...1.有以下程序:main(){char a[]="abcdefg",b[10]="abcdefg";printf("%d %d\n",sizeof(a),sizeof(b));}执行后输出结果是()A)7 7B)8 8C)8 10D)10 102.有以下程序:void swapl(int c[]){int t;t=c[0];c[0]=c[1];c[1]=t;}void swap2(int c0,int c1){int t;t=c0;c0=c1;c1=t;}main(){int a[2]={3,5},b[2]={3,5};swap1(a);swap2(b[0],b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);}其输出结果是()A)5 3 5 3B)5 3 3 5C)3 5 3 5D)3 5 5 33.有以下程序:void sum(int *a){a[0]=a[1];}main(){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[i]);printf("%d\n",aa[0]);}执行后的输出结果是()A)4B)3C)2D)14.有以下程序:int f(int b[][4]){int i,j,s=0;for(j=0;j<4;j++){i=j;if(i>2)i=3-j;s+=b[i][j];}return s;}main(){int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf("%d\n",f(a));}执行后的输出结果是()A)12B)11C)18D)165.有以下定义:#includechar a[10],*b=a;不能给a数组输入字符串的语句是()A)gets(a)B)gets(a[0]);C)gets(&a[0]);D)gets(b);6.有以下程序:main(){char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"}; printf("%d\n",strlen(p[4]));}执行后输出结果是()A)2B)3C)4D)57.有以下程序:int a=2;int f(int *a){return(*a)++;}main(){int s=0;{int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}执行后输出结果是()A)10B)9C)7D)88.有以下程序:#define f(x) x*xmain(){int i;i=f(4+4)/f(2+2);printf("%d\n",i);}执行后的输出结果是()A)28B)22C)16D)49.设有以下语句:typedef struct S{int g;char h;}T;则下面叙述中正确的是()A)可用S定义结构体变量B)可以用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量10.有以下程序:struct STU{char name[10];int num;};void f1(struct STU c){struct STU b={"LiSiGuo",2042};c=b;}void f2(struct STU *c){sturct STU b={"SunDan",2044};*c=b;}main(){struct STU a={"YangSan",2041},b={"WangYin",2043};f1(a);f2(&b);printf("%d%d\n",a.num,b.num);}执行后的输出结果是()A)2041 2044B)2041 2043C)2042 2044D)2042 2043答案:1.C 2.B 3.A 4.D 5.B 6.A 7.C 8.A 9.D 10.A2009年4月,全国计算机等级二级C考试你准备好了没?考计算机等级二级C语言考试的朋友可以多关注一下考试365为大家整理的2009年4月,全国计算机等级二级C语言考前练习!希望对大家的备考有好的帮助!考试365祝各位考个好成绩!大家每天都来练习哦!不断的加强巩固!每天都有更新哦!考试365提示:每十道题的难度不同!继续上一篇...1.下面程序的输出结果是()func (int x){ static int a=2;return (a+=x); }main(){ int b=2, c=4, d;d=func (b);d=func (c);printf("%d\n",d); }A)4B)6C)8D)12?2.以下程序运行后的输出结果是()main(){ chars[]="1234",*ps;for(ps=s;ps printf("\n");}A)123B)112123C)1234D)乱码3.以下关于宏的叙述中正确的是()A)宏名必须用大写字母表示B)宏替换时要进行语法检查C)宏替换不占用运行时间D)宏定义中不允许引用已有的宏名4.如果文件1包含文件2,文件2中要用到文件3的内容,而文件3中要用到文件4的内容,则可在文件1中用三个#include命令分别包含文件2、文件3和文件4。

相关文档
最新文档