!二级C语言笔试近期真题(1-4)
c语言省二级考试笔试试题及答案
c语言省二级考试笔试试题及答案一、选择题(每题2分,共40分)1. C语言中,以下哪个关键字用于声明一个函数?A. intB. returnC. voidD. function答案:C2. 在C语言中,哪个运算符用于比较两个值是否不相等?A. ==B. !=C. <=D. >=答案:B3. 若有定义 `int a = 5;`,则表达式 `a++` 的值是多少?A. 4B. 5C. 6D. 0答案:B4. C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-nameD. variable$name5. 在C语言中,以下哪个选项不是控制语句?A. ifB. switchC. forD. include答案:D6. C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A7. 在C语言中,以下哪个选项用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A8. 若有定义 `int a = 10;`,则表达式 `a % 3` 的值是多少?A. 1B. 2C. 3D. 0答案:A9. 在C语言中,以下哪个选项用于声明一个指针?B. int &C. int $D. int %答案:A10. C语言中,以下哪个关键字用于定义一个数组?A. arrayB. listC. vectorD. int []答案:D11. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A12. 若有定义 `int a = 10;`,则表达式 `a / 3` 的值是多少?A. 3B. 3.333C. 3.0D. 3.33333答案:A13. 在C语言中,以下哪个选项用于声明一个二维数组?A. int a[2][3];B. int a[][];C. int a[2][];答案:A14. C语言中,以下哪个函数用于计算并返回两个整数的差?A. abs()B. diff()C. subtract()D. max()答案:A15. 在C语言中,以下哪个选项用于声明一个枚举类型?A. enumB. unionC. structD. typedef答案:A16. 若有定义 `int a = 10;`,则表达式 `a << 2` 的值是多少?A. 40B. 20C. 30D. 50答案:A17. 在C语言中,以下哪个选项用于声明一个联合体?A. structB. unionC. enumD. typedef答案:B18. C语言中,以下哪个函数用于将字符串连接到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:C19. 在C语言中,以下哪个选项用于声明一个单精度浮点数?A. floatB. doubleC. long doubleD. int答案:A20. 若有定义 `int a = 10;`,则表达式 `a > 5 && a < 15` 的值是多少?A. 1B. 0C. -1D. 2答案:A二、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出100以内所有奇数的和。
全国计算机等级考试二级C语言笔试试题及答案
老当益壮,宁移白首之心;穷且益坚,不坠青云之志。——唐·王勃
D) 4 (31) 有如下类定义:
class XX( int xx; public: XX(): xx(0) {cout<<' A';} XX( int n):xx ( n) {tout<<' B';} }; Class YY:public XX( Int yy; public: YY(): yy ( 0) (cout+yy;} YY ( int n ): XX (n+1 ), yy(n) (cout<<yy;} YY ( int m, int n):XX (m), yy (n) (cout<<yy;} }; 下列选项中,输出结果为 A0 的语句是 A) YY y1 (0,0); B) YY y2(1); C) YYy3(0); D) YYy4; (32) 有如下程序: #include<iostream> Using namespace std; class A( public: virtual void f () (cout+1;} void g () (cout<<2;} }; class B:public A( public: virtual void f () (cout<<3;} void g()(ecut<<4;} }; void show (A &a)(a.f();a.g( ) ; } int main()( B b; show(b); return 0; } 运行时的输出结果是 A) 12 B) 34 C) 14 D) 32 (33) 有如下程序: #include<iostream> using namespace std; class Pair( int m; int n; public: Pair ( int i, int j ): m(i), n(j) (} boot operator > ( pair p ) const;//须在类体外给出定义 ); int main () { Pair Al(3,4),p2(4,3); p3(4,5); Cout<< (pl>p2) << (P2>P1) << (p2>p3) << (p3>p2); return 0; } 运算符函数。operator〉的功能是比较两个 Pair 对象的大小,当左边对象大时,返回 true,否则 返 回 false。比较规则是首先比较两对象的 m 成员,m 大者为大;当 m 相等时比较 n, n 大者为大。程序输 出 0101, 下列对运算符重载函数的正确定义是 A ) bool Pair::operator> ( Pair p ) const {if (m!=p.m) return m>p.m; return n>p.n;}
计算机二级C语言笔试真题
计算机二级C语言笔试真题一、真题概述计算机二级C语言考试是我国针对非计算机专业大学生的计算机水平测试,旨在检验考生对C语言基础知识的掌握以及编程能力。
以下是一篇关于计算机二级C语言笔试真题的分析,包括题目描述、解题策略和参考答案。
二、真题题目题目一:选择题(每题2分,共20分)1. 下面哪一个选项是C语言的逻辑运算符?A. ++B. --C. &&D. ||2. 若变量已正确定义并赋值,以下正确的赋值语句是()A. a = b = c = 10;B. a = (b = c + 10);C. a = b = c + 10;D. a = (b = c) + 10;3. 在C语言中,下列哪个选项表示关系表达式?A. a == bB. a = bC. a += bD. a && b4. 下面哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()5. 下面哪个函数用于释放动态分配的内存?A. free()B. delete()C. release()D. dispose()题目二:填空题(每题3分,共30分)6. C语言的标识符可以由字母、数字和下划线组成,且第一个字符必须是______。
7. 在C语言中,逻辑与运算符“&&”的优先级高于______。
8. 下面程序的输出结果是______。
```c#include <stdio.h>int main() {int a = 5, b = 10;printf("%d ", a++ + b--);printf("%d %d\n", a, b);return 0;}```9. 下面程序的输出结果是______。
```c#include <stdio.h>int main() {int a = 1, b = 2, c = 3;if (a > b) {if (a > c)printf("%d ", a);elseprintf("%d ", c);} else {if (b > c)printf("%d ", b);elseprintf("%d ", c);}return 0;}```10. 下面程序的输出结果是______。
计算机二级C语言测试题(含答案)
A. 2 B. 3 C. 4 D. 5
答案:
1. A
2. F
3. C
4. C
5. A
6. B
7. B
C语言测试题(第三章)
1.以下程序的输出结果是________。
main()
{
int k=8765;
printf("*%-06d*\n",k);
}
A.输出格式描述符不合法 B.*008765*
C.*8765 * D.*-08765*
【答案】 C.
2.有程序段如下:
int i;
float f;
scanf("i=%d,f=%f",&i,&f);
若要求把数值100和765.12分别赋给变量i和f,则正确的输入格式为________。
A.100765.12 B.i=100,f=765.12
z=x/y;
}
else
break;
}
printf("%5.2f\n",y);
}
运行该程序,按如下形式从键盘输入数据,程序的数出结果是________。
键盘输入数据:3.6,2.4
A. 1.50 B. 1.60 C. 2.0 D. 2.40
答案:
1. C 2. C 3. C 4. A 5. B
C语言测试题(第六章)
答案:
1. B
2. D
3. k=p
4.①str[i]!= '\0'或简写成str[i]
②str[i]>= 'a'&& str[i]<= 'z'
国家二级C语言(数组)机试模拟试卷4(题后含答案及解析)
国家二级C语言(数组)机试模拟试卷4(题后含答案及解析)题型有:1. 选择题选择题1.若有定义:int x[10],*pt=x;,则对x数组元素的正确引用是( )。
A.pt+3B.*&x[10]C.*(pt+10)D.*(x+3)正确答案:D解析:没有A选项的引用形式。
*与&放在一起作用抵消,但x[10]下标10超出了数组下标范围,所以B选项错误。
最大只能引用到x[9],而*(pt+i)表示引用指针pt所指元素后的第i个元素,所以C选项错误,最大只能为*(pt+9)。
D 选项正确。
知识模块:数组2.有以下程序:#include<stdio.h>main( ){int i,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf(“%d\n”,s);}程序的运行结果是( )。
A.20B.25C.45D.36正确答案:B解析:统计1~9这9个数中的奇数和,此题考查指向数组的指针。
C语言规定数组名代表数组的首地址,也就是第一个元素的地址,因此*(t+i)代表数组的第i+1个元素。
程序的运行结果是1+3+5+7+9=25。
知识模块:数组3.有以下程序:#include<stdio.h>main( ){int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++)e[s[i]]++;for(i=1;i <5;i++)printf(“%d”,c[i]);printf(“\n”);}程序的运行结果是( )。
A.2 3 4 4B.4 3 3 2C.1 2 3 4D.1 1 2 3正确答案:B解析:在for(i=0;i<12;i++)c[s[i]]++中,数组元素s[i]的值作为数组c的下标,当退出循环时,数组c的4个元素的值分别为4、3、3、2,因此B选项正确。
知识模块:数组4.下列定义数组的语句中正确的是( )。
二级C语言笔试真题及答案 (27)
二级C语言笔试真题及答案(考试时间120分钟,满分100分)一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 一个完整的计算机系统包括A) 主机、键盘与显示器B) 计算机与外部设备C) 硬件系统与软件系统D) 系统软件与应用软件(2) 十六进制数1000转换成十进制数是A) 4096 B) 1024 C) 2048 D) 8192(3) 十进制数269转换成十六进制数是A) 10E B) 10D C) 10C D) 10B(4) 如果用八位二进制补码表示带符号的定点整数,则能表示的十进制数的范围是A) -127到+127 B) -128到+128 C) -127到+128 D) -128到+127(5) 下列设备中,既可作为输入设备又可作为输出设备的是A) 鼠标器B) 打印机C) 键盘D) 磁盘驱动器(6) 下列各叙述中,正确的是A) 正数十进制原码的补码是原码本身B) 所有的十进制小数都能准确地转换为有限位二进制小数C) 汉字的计算机内码就是国标码D) 存储器具有记忆能力,其中的信息任何时候都不会丢失(7) 在下列操作中,能导致DOS系统重新启动但不进行系统自检的是A) 加电开机B) 按<Ctrl>+<Break>C) 按<Ctrl>+<Alt>+<Del> D) 按RESET按钮(8) 如果给定一个带有通配符的文件名F*.?,则在下列各文件中,它能代表的文件名是A) FA.EXE B) F.C C) EF.C D) (9) DOS系统启动后,下列文件中常驻内存的是A) *.COM B) C) AUTOEXEC.BAT D) (10) 设A盘的目录结构为(画方框的为目录)D1 \D2ABC A.FORDX.C Q.DAT根目录B.PAS Y.BAS A.CD3 A1.CD4XYZ.CQR.C NA.C A.TXT B.C如果当前盘为C 盘,A 盘的当前目录为\D2,则下列对A 盘上文件QR.C 的指定中,合法的是 A) \D2\D4\QR.C B) D4\QR.C C) A:D4\QR.C D) A:D2\D4\QR.C (11) 为了要将A 盘当前目录(不是根目录)中所有扩展名为.C 的文件同名复制到A 盘的目录\USER中,正确的命令是A) COPY A:*.C USER\*.C B) COPY A:*.C A:\USER C) COPY A:*.C A:USER\ D) COPY A:*.C A:USER\*.C (12) 为了在屏幕上一次显示当前盘当前目录下的所有扩展名为.TXT 的文件内容,下列命令中正确的是A) TYPE *.TXT B) TYPE *.TXT CON C) COPY *.TXT>CON D) COPY *.TXT CON (13) 设当前盘为A 盘,为了将当前盘当前目录下的文件AB1.TXT 连接在C 盘根目录下的文件XYZ.TXT的后面,正确的命令是A) COPY C:\XYZ.TXT+AB1.TXT B) COPY AB1.TXT>>C:\XYZ.TXTC) TYPE AB1.TXT>C:\XYZ.TXTD) COPY AB1.TXT+C:\XYZ.TXT>C:\XYZ.TXT(14) 设A 盘为启动盘,其目录结构为(画方框的为目录)其中文件AUTOEXEC.BA T 的内容为MD \XYZCD \DOS\USER则由A 盘启动成功后,A 盘的当前目录是A) \DOS\USER B) \XYZ C) \ D)\DOS(15) 下列DOS 命令中为内部命令的是A) COMP B) PATHC) PRINT D) 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>PRN B) TYPE ?AB.FOR C) COPY *.C PRND) COPY CON PRN \ 根目录 AUTOEXEC.BA TDOS USER(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的是A) *BC.? B) A?.* C) ?BC.* D) ?.?(20) 设当前盘为C盘,且C盘上含有子目录\DOS,A盘为只有根目录的启动盘(根目录下只有三个DOS系统文件与扩展名为. 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语言笔试模拟试题(1)第1题若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是A.a,point,*&a B.&*a,&a,*point C.*&point,*point,&a D.&a,&*point,point 第2题现有如下程序段#include"stdio.h"main(){int k[30]={12,324,45,6,768,98,21,34,453,456};int count=0,i=0;while(k[i]){if(k[i]%2==0‖k[i]%5==0)count++;i++;}printf("%d,%d\n",count,i);}则程序段的输出结果为A.7,8B.8,8C.7,10D.8,10第3题树是结点的集合,它的根结点数目是A.有且只有1B.1或多于1C.0或1D.至少2第4题数据库、数据库系统和数据库管理系统之间的关系是A.数据库包括数据库系统和数据库管理系统B.数据库系统包括数据库和数据库管理系统C.数据库管理系统包括数据库和数据库系统D.3者没有明显的包含关系第5题当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是A.m=k=n B.(m=k)&&(n=k)C.(m=k)||(n=k)D.(k=m)&&(n=k)第6题设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是A.x&&y B.x<=y C.x||++y&&y-z D.!(x第7题以下不正确的定义语句是A.double x[5]={2.0,4.0,6.0,8.0,10.0};B.int y[5.3]={0,1,3,5,7,9};C.char c1[]={′1′,′2′,′3′,′4′,′5′};D.char c2[]={′\x10′,′\xa′,′\x8′};第8题阅读下面程序段,则执行后的结果为#include"stdio.h"main(){int m=4,n=2,k;k=fun(m,n);printf("%d\n",k);}fun(int m,int n){return (m*m*m-n*n*n);}A.64B.8C.56D.0第9题软件工程的理论和技术性研究的内容主要包括软件开发技术和A.消除软件危机B.软件工程管理C.程序设计自动化D.实现软件可重用第10题以下叙述中不正确的是A.在不同的函数中可以使用相同的名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效第11题函数fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始点是A.文件开始B.文件末尾C.文件当前位置D.以上都不对第12题C语言结构体类型变量在程序执行期间A.所有成员一直驻留在内存中B.只有一个成员驻留在内存中C.部分成员驻留在内存中D.没有成员驻留在内存中第13题以下对结构体类型变量的定义中,不正确的是A.typedef struct aa{int n;float m;}AA;AA tdl;B.#define AA struct aa AA{int n;float m;}tdl;C.struct{int n;float m;}aa;struct aatdl;D.struct{int n;float m;}tdl;第14题有如下程序main(){char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序的输出结果是A.69825B.63825C.6385D.693825第15题以下程序的输出结果是main(){int a=21,b=11;printf ("%d\n",--a+b,--b+a);}A.30B.31C.32D.331-5:D,D,A,B,B6-10:D,B,C,B,D11-15:B,AC,C,A第16题下列程序的输出结果是main(){double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}A.3B.3.2C.0D.3.07第17题若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)第18题数据库设计包括两个方面的设计内容,它们是A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计第19题表达式0x13^0x17的值是A.0x04B.0x13C.0xE8D.0x17第20题检查软件产品是否符合需求定义的过程称为A.确认测试B.集成测试C.验证测试D.验收测试16-20:CBAAA第21题下列关于字符串的说法中错误的是A.在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志B.′\0′作为标志占用存储空间,计入串的实际长度C.在表示字符串常量的时候不需要人为在其末尾加入′\0′D.在C语言中,字符串常量隐含处理成以′\0′结尾第22题以下不能对二维数组a进行正确初始化的语句是A.int a[2][3]={0};B.int a[][3]={{1,2},{0}};C.int a[2][3]={{1,2},{3,4},{5,6}}; D.int a[][3]={1,2,3,4,5,6};第23题阅读下列程序,程序的输出结果是#include"stdio.h"main(){int m,n; float k;for(m=6;m>2;m--){k=0;for(n=m;n>1;n--)k=k+m*n;}printf("%f \n",k);}A.5.000000B.15.000000C.25.000000D.35.000000第24题下面程序段的运行结果是char a[]="lanuage",*p;p=a;while(*p!=′u′){printf("%c",*p-32);p++;}A.LANGUAGE B.language C.LAN D.langUAGE第25题阅读下面程序,则执行后的结果为#include"stdio.h"main(){char *str="abcdefghijklmnopq";while(*str++!=′e′);printf("%c\n",*str);} A.f B.a C.e D.q21-25:B,CBCA第26题设有数组定义:char array[]="China";则数组array所占的空间为A.4个字节B.5个字节C.6个字节D.7个字节第27题若变量c为char类型,能正确判断出c为小写字母的表达式是A.′a′<=c<=′z′B.(c>=′a′)||(c<=′z′)C.(′a′<=c)and(′z′>=c)D.(c>=′a′)&&(c<=′z′)第28题假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为A.log2n B.n2C.O(n1.5)D.n(n-1)/2第29题下列合法的整型常量的表示是A.098B.oXde C.32767D.0xDG第30题下列函数的运行结果是main(){int i=2,p;int j,k;j=i;k=++i;p=f(j,k); printf("%d",p);}int f(int a,int b){int c;if(a>b)c=1;else if(a==b)c=0;else c=-1;return(c);}A.-1B.1C.2D.编译出错,无法运行26-30:CDDCA第31题已知int a=6;则执行a+=a-=a*a;语句后,a的值为A.36B.0C.-24D.-60第32题一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。
二级C语言真题(1)
二级C语言真题(1)(总分:100.00,做题时间:90分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是______。
(分数:1.00)A.程序执行的效率与数据的存储结构密切相关√B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上说法均错误解析:[解析] 程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。
2.下列与队列结构有关联的是______。
(分数:1.00)A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度√解析:[解析] 队列的修改是依照“先进先出”的原则进行的,故D正确。
3.对下列二叉树进行前序遍历的结果为______。
(分数:1.00)A.DYBEAFCZXB.YDEBFZXCAC.ABDYECFXZ √D.ABCDEFXYZ解析:[解析] 前序遍历是指在访问根节点、遍历左子树与遍历右子树这三者中,首先访问根节点,然后遍历左子树,最后遍历右子树;并且在遍历左、右子树时,仍然先访问根节点,然后遍历左子树,最后遍历右子树。
因此,前序遍历可描述为:若二叉树为空,则执行空操作。
否则:①访问根节点;②前序遍历左子树;③前序遍历右子树。
所以C正确。
4.一个栈的初始状态为空,现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是______。
(分数:1.00)A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1 √D.1,2,3,C,B,A解析:[解析] 栈的修改是按照“后进先出”的原则进行的,所以顺序应与入栈顺序相反,故选C。
5.下面属于白盒测试方法的是______。
(分数:1.00)A.等价类划分法B.逻辑覆盖√C.边界值分析法D.错误推测法解析:[解析] 白盒测试法主要有逻辑覆盖、基本路径测试等。
逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断一条件覆盖,故选择B。
计算机二级C语言历年真题及答案
计算机二级C语言历年真题及答案计算机二级C语言历年真题及答案练习是巩固知识的有效手段,而考试是检验知识掌握情况的一种方式。
下面是店铺整理的计算机二级C语言试题答案,希望对大家有用。
计算机二级C语言历年真题及答案 1选择题1). 在软件设计中,不属于过程设计工具的是( )A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图正确答案:D答案解析:DFD(数据流图Data-Flow-Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。
它直接支持系统功能建模。
在软件详细设计的过程阶段,要对每个模块规定的功能以及算法的设计给出适当的算法描述。
常见的过程设计工具有:图形工具:程序流程图,N-S,PAD,HIPO;表格工具:判定表;语言工具:PDL(伪码)。
2). 数据结构中,与所使用的计算机无关的是数据的( )。
A.存储结构B.物理结构C.逻辑结构D.线性结构正确答案:C答案解析:数据的逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。
3). 设有定义: int x=2; 以下表达式中,值不为6的是( )A.2*x, x+=2B.x++,2*xC.x*=(1+x)D.x*=x+1正确答案:A答案解析:本题考查逗号表达式。
逗号表达式的求解过程是:先求解表达式1,再求解表达式2,整个逗号表达式的值是表达式2的值,因此,选项A中值为4;选项B中,值为6。
选项C中x*=x+1 等价于x=x*(x+1),所以等于6;选项D与选项C等价,结果也为6。
4). 在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )A.63B.64C.6D.7正确答案:B答案解析:顺序查找又称顺序搜索。
顺序查找一般是指在线性表中查找指定的元素,其基本方法是:从线性表的第一元素开始,依次将线性表中的元素与被查找的元素进行比较,若相等则表示找到(即查找成功),若线性表中所有元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。
C语言二级笔试
B. 17.5000
C. 17.5
D. 16
16.有这样的定义float*p[4];则下面的叙述中正确的是____。
A.此定义不正确,形如char*p[4];的定义才是正确的
B.此定义正确,p是指向一维实型数组的指针变量,而不是指向单个实型变量的指针变量
C.此定义不正确,C一语言中不允许类似的定义
B.return( )语句中的括号中,可以是变量,常量或有确定值的表达式
C.C语言中,函数调用时实参变量和形参变量间的参数传递方式都不是值传递
D.实参和形参若类型不匹配,编译时将报错
25. C语言的switch语句中case后____。
A.只能为常量
B.只能为常量或常量表达式
C.可为常量或表达式或有确定值的变量及表达式
D.29 person.year=1976
43.不能表示a数组元素的表达式是________。
若有以下定义和语句:ห้องสมุดไป่ตู้
int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;
A)*p
B)a[10]
C)*p++
D)a[p-a]
44.以下程序的输出结果是________。
main()
{ int y=30; prt(&y); }
D.可为任何量或表达式
26.下面说法中错误的是____。
A.结构体变量的地址和结构体变量的成员的地址均可以被引用
B.两个相同类型的结构体变量可以相互整体赋值
C.可以对结构体变量进行整体输入输出
D.被定义为指向某结构体类型的变量的指针不能直接指向结构体中的某一成员
27. C语言函数的隐含存储类别是____。
国家二级(C语言)笔试模拟试卷1(题后含答案及解析)
国家二级(C语言)笔试模拟试卷1(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.算法的空间复杂度是指( )。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法所需要的存储空间正确答案:D解析:算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。
所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。
2.用链表表示线性表的优点是( )。
A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同正确答案:C解析:链式存储结构的结点空间可以动态申请和释放,其数据元素的逻辑次序靠结点的指针来指示,在进行插入和删除操作时不需要移动数据元素,故链式存储结构下的线性表便于插入和删除操作。
3.数据结构中,与所使用的计算机无关的是数据的( )。
A.存储结构B.物理结构C.逻辑结构D.物理和存储结构正确答案:C解析:数据结构一般包括三个方面的内容:数据的逻辑结构、存储结构及数据上的运算集合。
数据的逻辑结构只抽象的反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。
4.结构化程序设计主要强调的是( )。
A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性正确答案:D解析:结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用goto语句,总的来说可使程序结构良好、易读、易理解、易维护。
5.软件设计包括软件的结构、数据、接口和过程设计,其中软件的过程设计是指( )。
A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程正确答案:B解析:软件设计包括软件结构设计、数据设计、接口设计和过程设计,其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。
最新全国计算机等级考试二级c语言笔试试题及答案(04
全国计算机等级考试二级C语言笔试试题及答案(04)2006年4月全国计算机等级考试二级C语言笔试试题(含参考答案)一选择题((1)-(10)每题2分,(11)-(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
1)下列选项中不属于结构化程序设计方法的是A) 自顶向下 B)逐步求精 C)模块化 D)可复用2)两个或两个以上模块之间关联的紧密程度称为A)耦合度 B)内聚度 C)复杂度 D)数据传输特性3)下列叙述中正确的是A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护D)以上三种说法都不对4)按照“后进先出”原则组织数据的数据结构是A)队列 B)栈 C)双向链表 D)二叉树5)下列叙述中正确的是A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构C)双向链表是非线性结构D)只有根结点的二叉树是线性结构6)对如下二叉树进行后序遍历的结果为A) ABCDEF B) DBEAFC C) ABDECF D) DEBFCA 7)在深度为7的满二叉树中,叶子结点的个数为A)32 B)31 C)64 D)638)“商品”与“顾客”两个实体集之间的联系一般是A)一对一 B)一对多 C)多对一 D)多对多9)在E-R图中,用来表示实体的图形是A)矩形 B)椭圆形 C)菱形 D)三角形10)数据库DB,数据库系统DBS,数据库管理系统DBMS之间的关系是 A)DB包含DBS和DBMSB)DBMS包含DB和DBSC)DBS包含DB和DBMSD)没有任何关系11)以下不合法的用户标识符是A)j2_KEY B)Double C) 4d D) _8_12)以下不合法的数值常量是A)011 B)lel C) 8.0 E0.5 D) 0xabcd13)以下不合法的字符常量是A)'\018' B)'\”' C) '\\' D) ‘\xcc'14)表达式3.6-5/2+1.2+5%2的值是A)4.3 B) 4.8 C) 3.3 D) 3.815)以下能正确定义字符串的语句是A)char str[]={‘\064'};B) char str=”\x43”;C) char str=”;D) char str[]=”\0”;16)以下数组定义中错误的是A) int x[][3]={0};B) int x[2][3]={{1,2},{3,4},{5,6}};C) nt x[][3]={{1,2,3},{4,5,6}};D)int x[2][3]={1,2,3,4,5,6};17)若要求从键盘读入含有空格字符的字符串,应使用函数A)getc() B) gets() C) getchar() D) scanf()18) 下四个程序中,完全正确的是A)#include B)#includemain(); main(){/*programming*/ {/*/programming/*/printf(“programming!\n”);}printf(“programming!\n”);} C) #include D) includemain() main(){/*/*programming*/*/ {/*programming*/ printf(“programming!\n”);}printf(“programming!\n”);} 19)若有定义:float x=1.5; int a=1,b=3,c=2;则正确的switch语句是A)switch(x)B) switch((int)x);{case 1.0: printf(“*\n”);{case 1: printf(“*\n”);Case 2.0: printf(“**\n”);}case 2: printf(“**\n”);} C) switch(a+b) D) switch(a+b){ case 1: printf(“*\n”); {case 1: printf(*\n”);case 2+1: printf(“**\n”);} case c: printf(“**\n”);}20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是A)main()B) float fun(int a,int b){……} {……x=fun(2,10);……} main()float fun(int a,int b){……}{……x=fun(i,j);……}C)float fun(int,int);D) main()main() { float fun(int i,int j);{……x=fun(2,10);……} ……x=fun(i,j);……}float fun(int a,int b){……} float fun(int a,int b){……}21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A)(!E=0) B) (E>0||E<0) C) (E==0) D) (E!=0)22)要求通过while循环不断读入字符,当读入字母N时结束循环。
福建省C语言二级考试模拟试卷之一
福建省C语言二级考试模拟试卷之一一、选择题。
(本大题共40个选项,【1】~【40】每个选择项1.5分,共60分)1.不属于字符型常量的是【1】。
【B】(A)'A' (B)"B"(C)'\n' (D)'\x72'2.'\72'在内存中占【2】个字节,"\72"在内存中占【3】。
【C】(A)4 (B)3(C)2 (D)1【A】(A)4 (B)3(C)2 (D)13.字符串"\\\"ABC\"\\"的长度是【4】。
【B】(A)11 (B)7 (C)5 (D)34.设有整型变量i,其值为020;整型变量j,其值为20,执行语句“printf("%d,%d\n",i,j);”后,输出结果是【5】。
【D】(A)20,20 (B)20,16(C)16,16 (D)16,205.设整型变量x为5,y为2,值为1的表达式是【6】。
【D】(A)!(y==x/2) (B)y!=x%3 (C)x>0&&y<0 (D)x!=y||x>=y 6.设有整型变量n1、n2,其值均为3,执行语句“n2=n1++,n2++,++n1;”后,n1的值是【7】,n2的值是【8】。
【C】(A)3 (B)4(C)5 (D)6【B】(A)3 (B)4 (C)5 (D)67.执行语句“f=(3.0,4.0,5.0),(2.0,1.0,0.0);”单精度变量f的值是【9】。
【B】(A)3.0 (B)5.0 (C)2.0(D)0.08.设a、b均为整型变量,下列表达式中不是赋值表达式的是【10】。
【A】(A)a=3,4,5 (B)a=3*2(C)a=a&&b (D)a=b=49.指出下面不正确的赋值语句是【11】。
【AB】(A)a++;(B)a==b;(C)a+=b; (D)a=1,b=1;10.执行下列语句后,a的值是【12】,b的值是【13】,c的值是【14】。
全国计算机等级考试二级C语言笔试试题及答案解析
全国计算机等级考试二级C语言笔试试题及答案解析一、选择题1. 以下哪个选项不是C语言的关键字?A. autoB. includeC. ifD. static答案:B解析:C语言中,auto、if和static都是关键字,而include不是关键字,它是预处理命令的一部分。
2. 在C语言中,下列哪个选项是非法的整型常量?A. 012B. 0x123C. 0X123D. 0123答案:D解析:C语言中,以0开头的数字表示八进制常量,以0x 或0X开头的数字表示十六进制常量。
选项A表示八进制常量,选项B和C表示十六进制常量,而选项D表示非法的常量。
3. 有以下程序段:```cint a = 5, b = 4;printf("%d\n", a/b);```输出结果是:A. 1B. 1.25C. 5D. 4答案:A解析:在C语言中,整数除法的结果仍然是整数。
因此,5除以4的结果为1。
4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A解析:在C语言中,malloc()函数用于动态分配内存。
calloc()函数也用于动态分配内存,但会初始化分配的内存空间。
alloc()和new()不是C语言中的标准函数。
二、填空题1. 在C语言中,若要定义一个指向整型的指针变量,应使用______。
答案:int解析:在C语言中,使用int 来定义一个指向整型的指针变量。
2. 有以下程序段:```cint a = 5, b = 3;printf("%d\n", a % b);```输出结果是______。
答案:2解析:在C语言中,%运算符表示求余运算。
因此,5除以3的余数为2。
3. 有以下程序段:```cint a = 5;printf("%d\n", sizeof(a));```输出结果是______。
江苏省计算机二级C语言试题笔试 (4)
江苏省C等级考试(五)一、选择题(本题共20道小题,共40分。
)1. 以下程序运行后,输出结果是main( ){char *s="abcde";s+=2;printf("%ld\n",s);}A)cde B)字符c的ASCII码值C)字符c的地址D)出错2. 下面程序的运行结果是main(){char ch[7]={"65ab21"};int i,s =0for(i=0;ch[i]>='0'&&ch[i]<'9';i+=2)s=10*s+ch[i]-'0'printf("%d\n",s);}A)12ba56 B)6521 C)6 D)623. 若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是A)*p=&a; scanf("%lf",p);B)p=(double*)malloc(8);scanf("%f",p);C) p=&a;scanf("%lf",a);D)p=&a; scanf("%le",p);4. 若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元:int *p;p=__________ malloc( sizeof(int));则应填入A) int B) inst * C) (*int) D) (int *)5. 若k是int型变量,且有下面的程序片段:k=-3if(k<=0) printf("####")else printf("&&&&");上面程序片段的输出结果是A) #### B) &&&& C) ####&&&& D) 有语法错误,无输出结果16. 以下程序运行后,输出结果是#include<stdio.h>#define PT 5.5#define S(x) PT*x*xmain( ){int a=1,b=2;printf("%4.1f\n",S(a+b))}A)49.5 B)9.5 C)22.0 D)45.07. 设有以下语句:struct st {int n; struct st *next;};static struct st a[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0];则表达式_____的值是6。
历年二级C语言笔试真题及答案
1)下列数据结构中,属于非线性结构的是A)循环队列B) 带链队列C) 二叉树D)带链栈2)下列数据结果中,能够按照“先进后出”原则存取数据的是A) 循环队列B)栈C)队列D)二叉树3)对于循环队列,下列叙述中正确的是A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数5)软件设计中划分模块的一个准则是A) 低内聚低耦合B) 高内聚低耦合C) 低内聚高耦合D) 高内聚高耦合6)下列选项中不属于结构化程序设计原则的是A) 可封装B) 自顶向下C) 模块化D) 逐步求精7)软件详细设计产生的图如下:该图是A) N-S图B) PAD图C) 程序流程图D) E-R图8)数据库管理系统是A)操作系统的一部分B)在操作系统支持下的系统软件C) 一种编译系统D) 一种操作系统9)在E-R图中,用来表示实体联系的图形是A) 椭圆图B) 矩形C) 菱形D) 三角形10)有三个关系R,S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为A) 选择B) 投影C) 交D) 并11)以下叙述中正确的是A)程序设计的任务就是编写程序代码并上机B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整12)以下选项中,能用作用户标识符的是A)void B)8_8 C)_0_D)unsigned13)阅读以下程序#include <stdio.h>main(){ int case; float printF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&pjrintF);printf(“%d %f\n”,case,printF);}该程序编译时产生错误,其出错原因是A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值14)表达式:(int)((double)9/2)-(9)%2的值是A)0 B)3C)4 D)515)若有定义语句:int x=10;,则表达式x-=x+x的值为A)-20B)-10C)0D)1016)有以下程序#include <stdio.h>main(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是A)0,0 B)1,0 C)3,2 D)1,217)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;} C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;}18)有以下程序#include <stdio.h>main(){ int c=0,k;for (k=1;k<3;k++)switch (k){default: c+=kcase 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c);}程序运行后的输出结果是A)3B)5 C)7 D)919)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是A)if((a>b)&&(b>c)) k=1;else k=0;B)if((a>b)||(b>c) k=1;else k=0;C)if(a<=b) k=0;else if(b<=c) k=1;D)if(a>b) k=1;else if(b>c) k=1; else k=0;20)有以下程序#include <stdio.h>main(){ char s[]={“012xy”};int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=’a’&&s[i]<=’z’) n++;printf(“%d\n”,n);} 程序运行后的输出结果是A)0 B)2 C)3 D)521)有以下程序#include <stdio.h>main(){ int n=2,k=0;while(k++&&n++>2);printf(“%d %d\n”,k,n);} 程序运行后的输出结果是A)0 2 B)1 3 C)5 7 D)1 222)有以下定义语句,编译时会出现编译错误的是A)char a=’a’B)cha r a=’\n’;C)char a=’aa’; D)char a=’\x2d’;23)有以下程序#include <stdio.h>main(){ char c1,c2;c1=’A’+’8’-‘4’;c2=’A’+’8’-‘5’;printf(“%c,%d\n”,c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是A)E,68 B)D,69C)E,D D)输出无定值24)有以下程序#include <stdio.h>void fun(int p){ int d=2;p=d++; printf(“%d”,p);}main(){ int a=1;fun(a); printf(“%d\n”,a);} 程序运行后的输出结果是A)32 B)12 C)21D)2225)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN -2147483647int findmax (int x[],int n){ int i,max;for(i=0;i<n;i++){ max=MIN;if(max<x[i]) max=x[i];}return max;} 造成错误的原因是A)定义语句int i,max;中max未赋初值B)赋值语句max=MIN;中,不应给max赋MIN值C)语句if(max<x[i]) max=x[i];中判断条件设置错D)赋值语句max=MIN;放错了位置(26)有以下程序#include <stdio.h>main(){ int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);} 程序运行后的输出结果是A)1,2,1, B)1,2,2,1C)2,1,2, D)2,1,1,227)若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是A)p=a B)q[i]=a[i] C)p=a[i] D)p=&a[2][1]28)有以下程序#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)9,One*World B)9,One*Dream C)10,One*Dream D)10,One*World29)有以下程序#include <stdio.h>main(){ int a[ ]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){ case 0:switch(a[i]%2){case 0:a[i]++;break;case 1:a[i]--;}break;case 1:a[i[=0;}for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“\n”);}A)3 3 4 4 B)2 0 5 0 C)3 0 4 0D)0 3 0 430)有以下程序#include <stdio.h>#include<string.h>main(){ char a[10]=”abcd”;print f(“%d,%d\n”,strlen(a),sizeof(a);} 程序运行后的输出结果是A)7,4 B)4,10C)8,8 D)10,1031)下面是有关C语言字符数组的描述,其中错误的是A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串D)字符数组只能存放字符串32)下列函数的功能是fun(char * a,char * b){ while((*b=*a)!=’\0’) {a++,b++;} }A)将a所指字符串赋给b所指空间B)使指针b指向a所指字符串C)将a所指字符串和b所指字符串进行比较D)检查a和b所指字符串中是否有’\0’33)设有以下函数void fun(int n,char * s) {……} 则下面对函数指针的定义和赋值均是正确的是A)void (*pf)(); pf=fun; B)viod *pf(); pf=fun; C)void *pf(); *pf=fun; D)void (*pf)(int,char);pf=&fun;(34)有以下程序#include <stdio.h>int f(int n);main(){ int a=3,s;s=f(a);s=s+f(a);printf(“%d\n”,s);}int f(int n){ static int a=1;n+=a++;return n;} 程序运行以后的输出结果是A)7 B)8C)9 D)1035)有以下程序#include <stdio.h>#define f(x) x*x*xmain(){ int a=3,s,t;s=f(a+1);t=f((a+1));printf(“%d,%d\n’,s,t);} 程序运行后的输出结果是A)10,64B)10,10 C)64,10 D)64,6436)下面结构体的定义语句中,错误的是A)struct ord {int x;int y;int z;}; struct ord a; B)struct ord {int x;int y;int z;} struct ord a;C)struct ord {int x;int y;int z;} a;D)struct {int x;int y;int z;} a;37)设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是A)char str[ ]=”string”;c=str; B)scanf(“%s”,c);C)c=getchar(); D)*c=”string”;38)有以下程序#include <stdio.h>#include<string.h>struct A{ int a; char b[10]; double c;};struct A f(struct A t);main(){ struct Aa={1001,”ZhangDa”,1098.0};a=f(a);jprintf(“%d,%s,%6.1f\n”,a.a,a.b,a.c);}struct A f(struct A t)( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )程序运行后的输出结果是A)1001,ZhangDa,1098.0 B)1001,ZhangDa,1202.0 C)1001,ChangRong,1098.0 D)1001,ChangRong,1202.039)若有以下程序段int r=8;printf(“%d\n”,r>>1);输出结果是A)16 B)8 C)4D)240)下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件二、填空题(每空2分,共30分)1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有【1】14个结点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章C语言概述1以下叙述中错误的是________。
A)C语言编写的函数源程序,其文件名后缀可以是.CB)C语言编写的函数都可以作为一个独立的源程序文件C)C语言编写的每个函数都可以进行独立的编译并执行D)一个C语言程序只能有一个主函数2计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对3以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C 源程序生成的.exe文件4以下选项中关于C语言常量的叙述错误的是。
A)所谓常量,是指在程序运行过程中,其值不能被改变的量B)常量分为整型常量、实型常量、字符常量和字符串常量C)常量可分为数值型常量和非数值型常量D)经常被使用的变量可以定义成常量5若有定义语句:int a=10;double b=3.14;,则表达式‘A’+a+b值的类型是________。
A)char B)int C)double D)float6以下不能输出字符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);7有以下程序#include <stdio.h>main(){int c[3]={0},k,i;while((k=getchar())!='n')c[k-'A']++;for(i=0;i<3;i++) printf("%d",c[i]);printf("\n");}若程序运行时从键盘输入ABCACC<回车>,则输出结果为__【12】__。
8以下选项中不能用作C程序合法常量的是A)1,234B) '\123'C)123D)"\x7G"9以下选项中可用作C程序合法实数的是A).1e0B)3.0e0.2C)E9D)9.12E10有以下程序(说明:字符0的ASCIl码值为48)#include<stdio.h>main(){ char c1,c2;scanf("%d",&c1);c2=c1+9;printf("%c%c\n",c1,c2);}若程序运行时从键盘输入48<回车>,则输出结果为。
11以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数12以下选项中能表示合法常量的是A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠:'\' D)字符串:"\007"13以下C语言用户标识符中,不合法的是A)_1 B)AaBc C)a_b D)a--b14以下关于C语言数据类型使用的叙述中错误的是A)若要准确无误差地表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如"人员信息"等含有不同类型的相关数据,应自定义结构体类型D)若只处理"真"和"假"两种逻辑值,应使用逻辑类型15以下选项中,能用作用户标识符的是________。
A)void B) 8_8C)_0_ D)unsigned16有以下定义语句,编译时会出现编译错误的是________。
A)char a='a';B)char a='\n';C)char a='aa';D)char a='\x2d';17以下选项中合法的标识符是________。
A)1_1B)1-1C)_11D)1_ _18若函数中有定义语句:int k;,则________。
A)系统将自动给k赋初值0B)这时k中的值无定义C)系统将自动给k赋初值-1D)这时k中无任何值19以下选项中,能用作数据常量的是________。
A)o115B)0118C)1.5e1.5D)115L第二章运算符与表达式20有以下程序#include<stdio .h>main(){int s,t,A=10;double B=6;s=sizeof(A); t=sizeof(B);printf("%d,%d\n",s,t);}在VC6平台上编译运行,程序运行后的输出结果是A)2,4 B)4,4 C)4,8 D)10,621以下程序运行后的输出结果是__【7】__。
#include <stdio.h>main(){int a=37;a%=9;printf("%d\n",a);}22有以下程序#include<stdio.h> main(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)923以下程序运行后的输出结果是【6】。
#include<stdio.h>main(){ int a;a=(int)((double)(3/2)+0.5+(int)1.99*2);printf("%d\n",a);}24以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示25以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出。
请填空。
#include<stdio.h>main(){int x=256;printf("%d-%d-%d\n",【13】,x/10%10,x/100); }26表达式:(int)((double)9/2)-(9)%2的值是________。
A)0 B)3C)4 D)527若有定义语句:int a=5;,则表达式:a++的值是__【6】__。
28若有语句double x=17;int y;,当执行y=(int)(x/5)%2;之后y的值为__【7】__。
29表达式(int)((double)(5/2)+2.5)的值是__【6】__。
30若有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y;,则z的值为________。
A)1.9 B)1 C)2 D)2.431若有定义语句: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);32有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x-y) B)a=x!=y;C)(a*y)%b D)y=x+y=x33若有定义语句:int x=10;,则表达式x-=x+x的值为________。
A)-20 B)-10 C)0 D)1034表达式a+=a-=a=9的值是A)9 B)-9 C)18 D)035设有定义:int x=2;,以下表达式中,值不为6的是________。
A)x*=x+1 B)x++,2*x C)x*=(1+x) D)2*x,x+=236有以下程序#include <stdio.h>main(){int a=2,b;b=a<<2;printf("%d\n",b); }程序运行后的输出结果是________。
A)2 B)4 C)6 D)837有以下程序#include<stdio.h>main(){ unsigned char a=8,c;c=a>>3;printf("%d\n",c);}程序运行后的输出结果是A)32 B)16 C)1 D)038有以下程序#include<stdio .h>main(){short c=124;c=c;printf("%d\n",c);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B)| 248 C)&0248 D)<<139有以下程序#include<stdio.h>main(){int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)0 B)1 C)2 D)340若有以下程序段:int r=8;printf("%d\n",r>>1);输出结果是________。
A)16 B)8C)4 D)241有以下程序:#include <stdio.h>main(){ int a=5,b=l,t;t=(a<<2)|b;printf("%d\n",t); }程序运行后的输出结果是________。
A)2l B)11 C)6 D)1第三章基本语句3.1 C语句概述42有以下程序:#include <stdio.h>main(){int a=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b);}程序运行后的输出结果是________。
A)0,0 B)1,0 C)3,2 D)1,243若有定义:int a,b;,通过语句scanf("%d;%d",&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是________。
A)3 5 B)3,5 C)3;5 D)35。