计算机程序设计技术证书理论考试试卷B

上传人:xt****7 文档编号:118164929 上传时间:2022-07-11 格式:DOC 页数:17 大小:103KB
收藏 版权申诉 举报 下载
计算机程序设计技术证书理论考试试卷B_第1页
第1页 / 共17页
计算机程序设计技术证书理论考试试卷B_第2页
第2页 / 共17页
计算机程序设计技术证书理论考试试卷B_第3页
第3页 / 共17页
资源描述:

《计算机程序设计技术证书理论考试试卷B》由会员分享,可在线阅读,更多相关《计算机程序设计技术证书理论考试试卷B(17页珍藏版)》请在装配图网上搜索。

1、C语言程序设计技术水平考试复习题纲一、选择题l C语言的编译系统对宏命令的处理是( )A)在程序运行时进行的B)在程序连接时进行的C)和C程序中的其它语句同时进行编译的D)在对源程序中其它语句正式编译之前进行的l 下列表达式中值为false(假)的是( )A)13 & 57B)!(510) C)11 & 0x01D)!(47) | (28)l 如果 x 是一个整型变量,那么以下答案( )是赋值 x = 1/3 的结果 A)0.33B)0.30C)0D)未定义的无用数据l 设int x, *p; 下列表达式中正确的是( )A)5.0%2B)x+1=5C)&p D)&(x+1)l 对以下说明,数值

2、为9的表达式是 ( )int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p=a;A)*p+9 B)*(P+8) C)*p+=9 D)P+8l 以下程序执行后的输出结果是( )void main()int k=2, i=2, m;m = (k+=i*=k);printf(%d,%dn”, m, i);A)8,6 B)8,3 C)6,4 D)7,4 l 以下程序当输入 3 时,输出的结果是( )# include void main()int x, y , z;scanf(%d, &x);if (x5) y = 100;z = -5;printf(%d %d %d,x

3、, y, z);A)3, 无用数据, 5 B)5, 无用数据, 3C)3, 无用数据, 无用数据 D)无用数据, 无用数据, 无用数据l 在下面的代码段中,语句 x = 1 会执行( )次for(j =1; j = n; j+)for(k=1; k =n; k+)x = 1;A)n B)n(n+1) C)n2 D)n+nl 以下程序段所做工作是( )do scanf(%d, &numb); while (numb 10);A)读取 0,11 范围之内的一个整数B)读取 -1,10 范围之内的一个整数C)读取 1,10 范围之内的一个整数D)以上三项皆错l 在以下四个运算符中,优先级最低的是(

4、)A)* B)+ C)/ D)=l 如果n=2,以下程序输出结果是( )switch (n) case(1): printf(You have chosen to add datan);break;case(2): printf(You have chosen to delete datan);case(3): printf(You have chosen to view datan);break;case(4): printf(You have chosen to print datan);break;default: printf(Invalid inputn);break;A)You h

5、ave chosen to add dataB)You have chosen to delete dataC)You have chosen to delete dataInvalid inputD)You have chosen to delete dataYou have chosen to view datal 假设char str10=”China0”; 执行strlen(str)后的结果是( )A)5 B)6 C)7 D)9l 运行以下程序的输出结果是( )void main()int n5=0, i, k=2;for(i=0; ik; i+)ni = ni + 1;printf(

6、“%dn”, nk);A)不确定 B)2 C)1 D)0l 对于定义为 float p33; 的数组,以下用法错误的是( )A)p00 B)p13 C)p11 D)p12l 以下程序的输出结果是( )int a, b;void fun()a=100; b=200 ;void main()int a=5, b=7;fun();printf(“%d%dn”, a, b);A)100200B)57C)200100D)75l ( )可以是结构体的一部分A)字符串常量B)整数变量 C)整数常量D)字符常量l 函数原型声明应该放置在( )A)在 main() 函数之中B)作为 main() 函数中的第一个

7、语句C)恰好在函数本身的定义之前D)在其他所有函数之前(包括 main() 函数)l 在调用一个函数时,主调函数将通过( )的变量列表传递给被调函数A)形式参数B)实际参数 C)寄存器变量D)局部变量l 全局变量的作用域限于 ( )A)整个程序包括的所有文件B)从定义该变量的语句所在的函数C)本程序文件D)从定义该变量的位置开始到本程序结束l 当n=-4时,以下代码段将会发生什么情况( )int factorial(int n) if (n=0)return 1;elsereturn factorial(n-1) * n;A)递归函数返回0B)递归函数进入无限循环C)递归函数返回 -4 的阶乘

8、D)以上三项皆错l 递归调用中的函数状态将在( )中得到保持A)堆栈B)堆(Heap)C)树D)以上皆错l 以下程序的输出结果是 ( )void fun(int x, int y, int z)z = x*x+y*y;void main() int a=31;fun(5, 2, a);printf(“%d”,a);A)0B)29C)31D)无定值l 对于声明 int a100 和 int j,表达式 *(a + j) 等价于引用( )A)aj-1B)aj+1C)aD)aj l 以下循环体的执行次数是( ) void main() int i,j; for(i=0,j=1; i=j+1; i+=

9、2, j-)printf(%d n,i);A)2 B)3 C)0 D)1l 有以下程序#include void main( )int i,n=0; for(i=2;i5;i+) do if(i%3) continue; n+; while(!i); n+; printf(n=%dn,n);则程序执行后的输出结果是( )A)n=4 B)n=2 C)n=3 D)n=5l 以读写方式打开一个已有的文本文件file1, 下面fopen函数正确的调用方式是( )A)FILE *fp; fp=fopen(“file1”,”r”); B)FILE *fp; fp=fopen(“file1”,”r+”);

10、C)FILE *fp; fp=fopen(“file1”,”rb”); D)FILE *fp; fp=fopen(“file1”,”rb+”);l 当 int b=2;时,表达式 (b1)的值是( )A)0B)2C)4D)8l C语言规定:在一个源程序中,main()函数的位置( )。A、 必须在最开始B、必须在系统调用的库函数的后面C、 可以任意D、必须在最后l 若x、i、j和k都是int型变量,那么执行表达式x=(i=4,j=16,k32);后,x的值为( )。A、 4 B、 16 C、 32 D、 52 l 在C语言程序中( ) A、函数的定义可以嵌套,但函数的调用不可以嵌套 B、函数的

11、定义不可以嵌套,但函数的调用可以嵌套 C、函数的定义和函数的调用不可以嵌套 D、函数的定义和函数的调用均可以嵌套l sizeof(double)的返回值类型是( )。A、 双精度型B、 单精度型C、 整型D、 不合法l puts函数可以向终端输出一个( )A、整型变量表达式值 B、实型变量值C、字符或字符型变量值 D、字符串l 已知i,j,k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( )。 A、scanf(%2d%2d%2d,&i,&j,&k); B、scanf(%d %d %d,&i,&j,&k); C、scanf(%d,%d

12、,%d,&i,&j,&k); D、scanf(i=%d,j=%d,k=%d,&i,&j,&k);l 判断char型变量ch是否为小写字母的正确表达式是( )。 A、 ach=a)&(ch=a)&(ch=a) AND (ch=z)l 请阅读以下程序:void main( ) int a=1,b=2,c=3; if(c=a+b) printf(“*n”); else printf(“$n”);A. 有语法错误,不能通过编译 B. 输出 * C. 输出 $ D. 可以通过编译,但不能通过连接l 语句while (! E);中的表达式 !E 等价于( )。A、 E=0 B、 E!=1 C、 E!=0

13、D、 E=1l 若i为整型变量,则以下循环执行次数是( )for(i=2;i= =0;) printf(“%d”,i- -);A、无限次 B、0次 C、1次 D、2次l 以下程序的运行结果是( )#include void main()int k=5,a=3,b=2,c=1;printf(%dn,ka?k:(c=0& chi=9; i+=2)s=10*s+chi-0;printf(“%dn”, s); A、 2ba56 B、 6521 C、 6 D、 62l C语言程序编译时,程序中的注释部分将( )。A、参加编译,并会出现在目标程序中B、参加编译,但不会出现在目标程序中C、不参加编译,也不会

14、出现在目标程序中D、不参加编译,但会出现在目标程序中l 以下程序的输出结果是( )。void main()int a=0, i;for (i=1; iage C、(*p).age D、*p.agel 函数调用语句:fseek(fp, -20L, 2); 的含义是( )。A、 将文件位置指针移到距离文件头20个字节处B、 将文件位置指针从当前位置向后移动20个字节C、 将文件位置指针从文件末尾处向后退20个子节D、 将文件位置指针移到离当前位置20个字节处l 字符串”VBtVCtJAVAn”的长度为( )。 A、14 B、8 C、11 D、12l 若已知 int a=10, b=20; 则表达式

15、 !ab 的值是( )。A、10 B、20 C、0 D、1l 若有代数式,则错误的C语言表达式是() A、a/b/c*e B、a*e/b*cC、a*e/b/c D、a*e/c/bl 在C语言中定义某内部变量时,如省略了存贮类型符,则系统将其默认为( )A、寄存器型 B、自动型 C、静态型 D、非法l 栈的插入与删除操作是在( )进行的。A、栈顶 B、栈底C、任意位置 D、指定位置l 设int型变量n的值为2,执行语句:n+=n*n; 后,n的值为( )。A、 2 B、 4 C、6 D、 16l 假设已定义x和y为double类型,则表达式x=1,y=x+5/2 的值是 ( )A、1 B、3 C

16、、3.0 D、3.5l 当调用函数时,实参是一个数组名,则向被调用函数传送的是( )A、 数组的长度 B、 数组的首地址C、 数组每一个元素的地址 D、 数组每个元素中的值l 以下数组定义中不正确的是( )A、 int a23;B、 int b3=0,1,2,3; int a=1,2,3,4C、 int c100100=0;D、 int d3=1,2,1,2,3,1,2,3,4;l 下面有关for循环的正确描述是 ( )A、在for循环中,它只能用于循环次数已经确定的情况B、在for循环中,要先执行循环体语句,后判断表达式决定下次循环C、在for循环中,不能用break语句跳出循环体D、for

17、循环的循环体语句中,可以包含多条语句,但必须用花括号括起来l 下列表达式中值为false(假)的是 ( )。A、13 & 57 B、!(510) C、11 & 0x01 D、!(47) | (28)l 以下函数调用语句中实参的个数 ( ) 。 excc(v1+v2),(v3+v4+v5),v6); A、3 B、4 C、5 D、6l 以下程序段( )。x=-1;do x=x*x; while (x);A、 是死循环 B、 循环执行一次 C、循环执行二次 D、有语法错误l 已知字母a 的ASCII码为十进制97,且设ch为字符变量,则表达式ch=a+8-3的值( )A、103 B、C C、f D、

18、Fl 下面程序的运行结果是( )#include void main( ) int i, j,x0;for (i=0; i2; i+) x+; for (j=0; j=10 or a=0|a=10 &a=10a=0l 定义如下变量和数组:int i;int x33=9,8,7,6,5,4,3,2,1;则下面语句的输出结果是( for(i=0;is2) B. if (strcmp(s1,s2) C. if (strcmp(s1,s2)0) D. if (strcmp(s2,s1)0)l 若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是( ) A、int p=&x; B、int *

19、p=x; C、int *p=&x; D、*p=*x;l 下列关于 # include “test.h” 与 # include test.h的叙述中,正确的是( )。A、 # include “test.h” 仅仅搜索当前目录B、 # include 仅仅搜索源程序所在目录C、 # include “test.h” 直接按系统设定的标准方式搜索目录D、 # include “test.h” 先在源程序所在目录搜索,再按系统设定的标准方式搜索 l 设有以下说明语句 struct stu int a; float b;stutype;则下面的叙述不正确的是( )A、struct是结构体类型的关键字

20、 B、stuct stu是用户定义的结构体类型C、stutype是用户定义的结构体类型名 D、a和b都是结构体成员名l 以下程序的输出结果是 ( )void fun(int x, int y, int z) z=x*x+y*y; main() int a=31;fun(5,2,a);printf(“%d”,a);A、0 B、29 C、31 D、无定值 1. 执行int a=3,*p=&a;后,*p的值为( )A、 变量a的地址值 B、无意义C、 变量p的地址值 D、 3l 存储以下数据,占用存储字节最多的是 ( ) A、0 B、0 C、“0” D、0.0l 能正确表示代数式的C语言表达式是(

21、)。A、 sqrt(a*a+b*b) B、 sqrt(a*2+b*2)C、 pow(a*a+b*b,2)D、 pow(a*2+b*2, 0.5)l 在C语言中,对动态分配的内存块进行释放功能的函数是( )。A、 malloc( ) B、 free( ) C、 new_memory( )D、 dele( )l 有以下程序#include void main( )int i,n=0; for(i=2;i5;i+) do if(i%3) continue; n+; while(!i); n+; printf(n=%dn,n);则程序执行后的输出结果是( )A、n=5 B、n=2 C、n=3 D、 n

22、=4二、阅读与选择题 ()C 语言中的合法标识符由 C)任意字母 、_ D)数字_、_ _ F)_下横线_组成,且必须以 C)任意字母_、_ F)下横线_开头。 A)任意字符B)大写字母C)任意字母D)数字E)小写字母F)下横线G)反斜杠H)关键字()下面程序的功能是输出以下形式的金字塔图案是:*void main( )int i, j;for(i=1;i=4;i+)for(j=1;j= E 44 ;j+) printf( G 45 );for(j=1;j2 ? 3:4的值是_4 _。()同一数组中,数组元素之间是通过 下标/索引 来加以区分的。()设n为int型变量,请写出描述”n是奇数”的

23、表达式_n%2!=0_ _。() 在C语言中,一个函数由两部分组成,它们分别是函数首部和_ _ _ 函数体/函数定义 组成。()定义int a=10,20,30,40,50,60,*p=a; 则表达式*(p+2)的值是_30 _( )在循环体中可用_ _break _语句实现跳出本循环体,提前结束循环。实践题复习:l 以下程序的功能是: 从键盘上输入12个整数,存放在数组a34中,现要求如下:(1) 找出这些数中的最小值,并记录它的位置(若有多个最小值,只要求找出其中一个即可);(2) 输出最小值及其位置(列出它的行、列下标)。请完成程序填空。#include void main() int

24、(1) ;a34 int i,j; int min, row,col; printf(input 12 numbers:n); for(i=0; i3 ; (2) )i+ for (j=0; (3) ; j+)j4 scanf(%d, (4) );&aij min= (5) ;a00 row=0; col=0; for(i=0; i3 ;i+) for (j=0; j4; j+) if( (6) )aij=0; -i) printf (%c, bci) ;l 编写一个程序,其功能为:将M行N列的二维数组w中的数值,按列的顺序依次存放到一维数组a中。例如:二维数组w中的数据为:111122223333则一维数组a中的内容应是:1 2 3 1 2 3 1 2 3 1 2 3。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!