函数中未指定存储类别的变量

合集下载

专科《C语言程序设计》_试卷_答案

专科《C语言程序设计》_试卷_答案

专科《C语言程序设计》一、(共75题,共150分)1. 不能定义为用户标识符的是( )。

(2分)A.shortB._3countC.UNIOND.long_1标准答案:A2. 设x和y均为int型变量,则以下语句:;的功能是( )。

(2分)A.把x和y按从大到小排列B.把x和y按从小到大排列C.x和y中的值不变D.交换x和y中的值标准答案:D3. 非法的字符串常量是( )。

(2分)A.""B."a"C."a"b"D."a'b"标准答案:C4. 合法的浮点型常量是( )。

(2分)A.2.5E0.5B.3.14EC.5E-20D.E20标准答案:C5. 与0x30等值的数为( )。

(2分)A.048B.48C.0256D.256标准答案:B6. 若有定义;则表达式a=x+y的值是( )。

(2分)A.7B.6C.5.8D.5标准答案:D7. 设有定义;则下面语句中错误的是( )。

(2分)A.a++;B.b++;C.++b;D.a+b;标准答案:A8. 非法的字符常量是( )。

(2分)A.'\007'B.'\x7a'C.'7a'D.'\\'标准答案:C9. 若定义int a=14,b=4;则表达式a/b的值是( )。

(2分)A.2.5B.3C.3.5D.4 标准答案:B10. while(!m)语句中的!m与下列条件表达式等价的是( )。

(2分)A.m==0B.m==1C.m!=0D.m!=1标准答案:A11. 在C语言中,一个short型数据的存储长度是( )个字节。

(2分)A.1B.2C.3D.4标准答案:B12. 已知int a=2,b=1,c=3;则表达式的值为( )。

(2分)A.1B.2C.3D.4标准答案:A13. 执行语句后变量i的值为( )。

【奥鹏】[电子科技大学]19春《C语言(专科)》在线作业3

【奥鹏】[电子科技大学]19春《C语言(专科)》在线作业3
C、形参数组可以不定义数组大小
D、实参数组与形参数组大小必须一致,否则C编译会检查出错
正确答案:D
第4题,C语言对嵌套if语句的规定是:else总是与()配对。
A、其之前最近的if
B、第一个if
C、缩进位置相同的if
D、其之前最近且不带else的if
正确答案:D
第5题,若有定义:inta[5][6];则下面关于数组a的叙述中正确的是()。
B、运行后将输出b;
C、运行后将输出a
D、编译出错
正确答案:D
第10题,对于for(表达式1;表达式2;表达式3)语句的正确描述()
A、表达式2省略,循环不执行
B、表达式3省略,可在循环体中修改循环控制变量,以保证正常退出
C、三个表达式均不能省略
D、三个表达式均不能省略。但分号可以省略
正确答案:B
第16题,若有程序段:doublex=-5.9;inty;y=(int)x;执行该段程序后
A、x=-5.9,y=-5
B、x=-5.9,y=-6
C、x=-5,y=-5
D、x=-6,y=-6
正确答案:A ຫໍສະໝຸດ 第17题,有以下程序段:intk=0;
while(k=1)k++;
while循环执行的次数是()。
【奥鹏】[电子科技大学]19春《C语言(专科)》在线作业3
试卷总分:100 得分:100
第1题,在C语言中,下面那一个不是正确的概念()
A、所有循环语句都要求至少要执行一次循环体
B、goto和if语句能构成循环语句
C、循环过程只能包含,不能交叉
D、循环体可以是一条语句

C语言考试试题库之判断题

C语言考试试题库之判断题

C语言考试试题库之判断题完美.格式.编辑三、判断题(10道小题,共10分)1、C语言具有简洁明了的特点。

(1分)正确2、预处理命令的前面必须加一个“#”号。

(1分)正确3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。

(1分)正确4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。

(1分)正确5、continue不是结束本次循环,而是终止整个循环的执行。

(1分)错误6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分)错误7、.函数的实参传递到形参有两种方式值传递和地址传递(1分)正确8、直接访问就是直接利用变量的地址进行存取直接访问(1分)正确9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。

(1分)正确10、文件指针和位置指针都是随着文件的读写操作在不断改变。

(1分)错误11、C语言标准格式输入函数scanf()的参数表中要使用变量的地址值。

(1分)正确12、浮点型常量的指数表示中,e是可以省略的。

(1分)错误13、任何表达式语句都是表达式加分号组成的。

(1分)正确14、在switch语句中,每一个的case常量表达式的值可以相同。

(1分)错误15、do-while循环的while后的分号可以省略。

(1分)错误16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志’\\0’。

正确17、C语言函数返回类型的默认定义类型是void(1分)错误18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分)正确19、枚举类型中的元素都具有一个整型值。

(1分)正确20、C语言是一种具有某些低级语言特征的高级语言。

(1分)正确21、case语句后如没有break,顺序向下执行。

(1分)正确专业.资料.整理完美.格式.编辑22、do-while循环至少要执行一次循环语句。

C语言习题

C语言习题

C语言习题(一)一、判断题()1、开发C语言程序通常要经过编辑、预处理、编译、连接、装入和执行6个阶段。

()2、C语言程序由一个或多个函数组成,其中有且只有一个main函数。

()3、C语言中,所有标识符必须由一个字母 ( a ~ z , A ~ Z ) 或下划线 ( _ )开头。

()4、同一程序的各函数中定义的局部变量不可以同名。

()5、C语言中,主函数main中定义的变量称为全局变量,在整个文件中有效。

()6、C语言中,函数重载常用于设计多个进行类似任务而处理不同数据类型的同名函数。

()7、C语言中,数组名的值就是数组中第一个元素的值。

()8、在C++中,指针的作用是用来表示一个变量指向另一个变量这样的指向关系。

()9、C语言中,定义结构时,结构体中的成员名不能与程序中的其它变量重名。

()10、C语言中,声明一个结构并不分配内存,只有在定义结构变量时,才分配内存。

二、填空题1、在C语言中,定义double类型数组arr, 数组大小为20, 应写为()。

2、写出公式S=a2+b2+2ab的C语言赋值语句:()。

3、定义a为长度为10的字符串、并为字符串赋初值"continue"的语句为()。

4、设ch是字符变量,则判断ch是小写英文字母的逻辑表达式为()。

5、函数的返回值也叫函数值,函数值是通过函数中的()语句获得的。

6、链表是一种非常有用的动态数据结构,只有一个指针链的链表称为()。

7、对数组a[]进行初始化的数据为{2,4,6,8,10,12,14},则a[3]被初始化为()。

8、对于 int *p, i = 5, j = 6; 执行 p = &i; p = &j; 后(*p)的值为()。

9、执行完下列语句段后, i的值为:()。

int a[3][4]={{1,2,3},{4,5,6}}, i;i= a[1][2];10、有语句struct point{int x;int y;}; point pExample; 则将pExample的成员x初始化为8的语句是()。

C语言程序设计(变量作用域与预处理)习题与答案

C语言程序设计(变量作用域与预处理)习题与答案

一、单选题1、设有以下宏定义:#define N 3#define Y(n) ((N+1)*n)则执行语句z=2*(N+Y(5+1));后,z的值为( )。

A.48B.60C.42D.54正确答案:A2、以下叙述不正确的是()。

A.在程序运行期间,全局变量所占存储单元的值永久保留B.全局变量可以由系统自动初始化C.当局部变量与全局变量重名时,全局变量起作用D.全局变量存放在静态存储区正确答案:C3、下面叙述中错误的是( )。

A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.形式参数也是局部变量D.在其它函数中定义的变量在主函数中也不能使用正确答案:A4、执行下列程序后的输出结果是()。

#include <stdio.h>int a=3, b=4;void fun(int x1, int x2){printf("%d, %d", x1+x2, b);}int main(){int a=5, b=6;fun(a, b);return 0;}A.3, 4B.11,4C.11,6D.11,1正确答案:B5、函数的形式参数系统默认存储类型说明是()。

A.externB.registerC.autoD.static正确答案:C6、下面叙述中错误的是( )。

A.在其它函数中定义的变量在主函数中也不能使用B.主函数中定义的变量在整个程序中都是有效的C.形式参数也是局部变量D.复合语句中定义的变量只在该复合语句中有效正确答案:B二、判断题1、内部函数是指函数的作用域仅限于本文件的函数。

(√)2、编译预处理命令也属于C语句,可以在末尾加分号。

(×)3、在一个文件内定义的静态全局变量也可以被其他文件引用。

(×)4、进行宏定义时,可以引用已经定义的宏名进行层层置换。

(√)5、带参数的宏定义,进行宏展开时与函数调用主要区别是,只替换,不求值。

2022年中职计算机考试试题c语言期末

2022年中职计算机考试试题c语言期末

2022年中职计算机考试试题c语言期末一、判断题:1、C语言规定:在一个源程序中,main函数的位置必须在最开始。

2、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。

3、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为静态存储。

4、C语言中规定函数的返回值的类型是由return语句中的表达式类型所决定。

5、在C语言中对文件操作必须先关闭当前文件,然后再打开一个新文件。

6、C语言程序的基本单位是语句。

二、选择题:1.假设已定义char a[10]和char *p=a, 下面的赋值语句中,正确的是:A)a[10]=“Turbo C”;B)a=“Turbo C”;C)*p=”Turbo C”;D)p=”Turbo C”;2.下面关于运算符优先顺序的描述中正确的是:A)关系运算符<算术运算符< 赋值运算符< 逻辑与运算符B)逻辑运算符<关系运算符< 算术运算符< 赋值运算符C)赋值运算符<逻辑与运算符< 关系运算符< 算术运算符D)算术运算符<关系运算符< 赋值运算符< 逻辑与运算符3.以下正确的描述是。

A)continue语句的作用是结束整个循环的'执行B)只能在循环体内和switch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用相同D)从多层循环嵌套中退出时,只能使用goto语句4.用8位无符号二进制数能表示的最大十进制数为A) 127 B) 128 C) 255D)2565.下列叙述中正确的是:A) C语言中既有逻辑类型也有集合类型B) C语言中没有逻辑类型但有集合类型C) C语言中有逻辑类型但没有集合类型D) C语言中既没有逻辑类型也没有集合类型三、应用题引用数组元素时,[ ]中的下标为逻辑地址下标,只能为整数,可以为变量,且从0开始计数int a[10]表示定义了一个包含10个整型数据的数组a,数组元素的逻辑地址下标范围为0~9,即a[0] 表示组中第1个元素; a[1] 表示组中第2个元素; a[2] 表示组中第3个元素; ......;a[9] 表示组中第10个元素.。

tc判断32

tc判断32

1、 while循环结构的特点是“先判断后执行”,如果表 对 . 达式的值一开始就为“假”,循环体一次也不执行 【 】 对 ,则应用花括号 2、 循环体中,如果包含一个以上的语句 括起来,以复合语句的形式出现. 【 】 3、 使用循环的嵌套结构时 对 ,外层循环应“完全包含”内 层循环,不能发生交叉. 【 】 对 4、 使用循环的嵌套结构时 ,嵌套的循环控制变量一般不 应同名,以免造成混乱. 【 】 对 5、 嵌套的循环提倡使用缩进式书写格式 ,以增加程序的 可读性. 【 】 对 6、 break语句不能用于循环语句和 switch语句之外的任 何其他语句中. 【 】 错 7、 continue作用为终止循环而执行循环后面的语句. 错 【 】
36、 continue语句可以用在循环语句和switch语句中. 【错 】 37、 for(表达式1;表达式2;表达式3)语句中,表达式1,表 达式2 ,表达式3 类型可以任意. 【 对 】 38、 C语言中,while(1){...}是一个无限循环,可以在该循 环体中使用break语句结束循环. 【 对 】 39、 C语言中,循环语句for(i=0;i<10;i++) printf(“%d”,i); 的执行次数是10次. 【 对 】
43、 printf函数当没有输出项列表,同时格式字符串中也 不含格式信息,则输出的是格式字符串本身. 【 对 】 44、 在if语句中,if后面只能跟关系表达式,不能是其他的 数据. 【 错 】 45、 在C语言中,空语句表示什么都不做,因此毫无意义. 【错 】 46、 C语言中,逻辑运算符两端运算对象的数据类型可 以是任何类型的数据. 【 对 】
27、 在实际编程中,do-while循环完全可以用for循环替 换. 【 对 】 28、 在while循环中允许使用嵌套循环,但只能是嵌套 while循环. 【 错 】 29、 continue语句的作用是结束本次循环. 【 对 】 30、 使用continue和break语句,都可以使得C程序的执 行直接从循环中跳出. 【 错 】 31、 continue语句的作用是跳过循环本中剩余的语句而 强行执行下一次循环. 【 对 】 32、 for(::)s 中的语句s必须执行无穷多次. 【 错 】 33、 break只能终止并跳出最近一层的结构. 【 对 】 34、 break不能用于循环语句和switch语句之外的任何 其它语句之中. 【 对 】 35、 if和goto构成的循环语句中不能用break语句. 【对 】

习题7答案

习题7答案

习题7 参考答案7.1 选择题(请选择一个正确的答案)1. 以下对C语言函数的有关描述中,正确的是_______A. 在C语言中调用函数时,只能实参的值转送给形参,形参的值不能转送给实参。

B. C函数既可以嵌套定义,又可以递归调用。

C. 函数必须有返回值,否则不能使用函数。

D. C程序中有调用关系的所有函数必须放在同一个源程序文件中。

答案:A.2. C语言中规定函数的返回值的类型由_______A. return语句中的表达式类型所决定。

B. 调用该函数时的主调函数类型所决定。

C. 调用该函数时系统临时决定。

D. 在定义该函数时所指定的函数类型所决定。

答案:D3. 以下不正确的说法是_______A. 在不同函数中可以使用相同名字的变量。

B. 形参是局部变量。

C. 在函数内定义的变量只在本函数范围内有效。

D. 在函数内的复合语句中定义的变量在本函数范围内有效。

答案:D4. 有一个如下定义的函数func(int a){ printf("%d",a);return a;}则该函数值的类型是_______A. 整型B. void类型C. 没有返回值D. 无法确定答案:A5. 以下错误的描述为_______A. 在函数之外定义的变量称为外部变量,外部变量是全局变量。

B. 在一个函数中既可以使用本函数中的局部变量a,又可以使用同名的外部变量a。

C. 外部变量定义和外部变量说明的含义不同。

D. 若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用。

答案:B.6. 下面程序的输出结果是_____fun3(int x){static int a = 3 ;a+=x;return a;}main(){int k=2,m=1,n;n = fun3(k);n = fun3(m) ;printf( "%d\n",n);}A. 3B. 4C. 6D. 9答案:C7.下面程序的输出结果是_____#include <stdio.h>main(){ int k=4,m=1,p;int func (int a,int b);p=func(k,m);printf("%d," ,p);p=func(k,m);printf("%d\n",p);}func (int a,int b){static int m=0,i=2;i+=m+1; m=i+a+b;return m;}A. 8, 17B. 8, 16C. 8, 20D. 8 , 8答案:A7.2 判断下列叙述的正确性,若正确在()内标记√,若错误在()内标记⨯。

函数答案 (2)

函数答案 (2)

第七章函数一、选择题1.以下函数定义正确的是: A 。

A) double fun(int x, int y) B) double fun(int x; int y)C) double fun(int x, int y) ; D) double fun(int x ,y)2.C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是: B 。

A)地址传递;B)单向值传递;C)双向值传递;D)由用户指定传递方式3.以下关于C语言程序中函数的说法正确的是: B 。

A)函数的定义可以嵌套,但函数的调用不可以嵌套;B)函数的定义不可以嵌套,但函数的调用可以嵌套;C)函数的定义和调用均不可以嵌套;D)函数的定义和点用都可以嵌套。

4.以下正确的函数形式是: D 。

A)double fun(int x,int y) B)fun (int x,y){z=x+y;return z;} {int z;return z;}C)fun(x,y) D)double fun(int x,int y){int x,y; double z; {double z;z=x+y; return z;} z=x+y; return z;}5.以下说法不正确的是: B 。

C 语言规定A)实参可以是常量、变量或表达式B)形参可以是常量、变量或表达式C)实参可以是任意类型D)形参应与其对应的实参类型一致6.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 B 。

A) float型B) int 型C)long 型D)double 型7.以下错误的描述是 D 。

函数调用可以A)出现在执行语句中B)出现在一个表达式中C)做为一个函数的实参D)做为一个函数的形参8.若用数组名作为函数调用的实参,传递给形参的是 A 。

A)数组的首地址B)数组第一个元素的值C)数组中全部元素的值D)数组元素的个数9.以下正确的说法是A 。

如果在一个函数中的复合语句中定义了一个变量,则该变量A)只在该复合语句中有效B)在该函数中有效C)在本程序范围内有效D)为非法变量10.以下不正确的说法为 D 。

C语言习题

C语言习题
A. ++p; y=p->num; B. y= (++p)->num;
C .++(p->num); y=p->num; D. y=p->num; ++y;
31、一个C语言的执行是从。
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
A. a[6]=“Hello”; B. a=“Hello”; C. *p=“Hello”; D. p=“Hello”;
25、若有以下定义和语句,则对a数组元素的正确引用为()。
int a [2] [3], (*p) [3] ; p=a;
A. * (p+2) B. p [2] C. p[1] + 1 D. *(*(p+1) +2)
D)本程序文件的第一个函数开始,到main函数结束
32、一个C语言程序是由。
A)一个主程序和若干个子程序组成
B)函数组成
C)若干过程组成
D)若干子程序组成
33、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。
A)必须为字母
B)必须为下划线
C)必须为字母或下划线
D)可以是字母、数字和下划线中任一种字符
D)变量必须在使用前定义,但数组可以先不必定义
50、若有初始化“int a[8]={1,2,3,4,5};”,则对元素a[7]的正确描述是
A)因没有提供足够的初值,a[7]中无任何值B)因没有足够的初值,a[7]中是随机值
C)a[7]是最后一个元素,其中的值为5D)a[7]中的值为0

在C语言程序中

在C语言程序中

习题三一、单选题1、在C语言程序中。

A、main函数必须放在程序的开始位置B、main函数可以放在程序的任何位置C、main函数必须放在程序的最后D、main函数只能出现在库函数之后2、在C语言中,要求参加运算的数必须是整数的运算符是。

A、/B、!C、%D、==3、是C语言提供的合法的数据类型关键字。

A、FloatB、unsignedC、integerD、Char4、若a是float型变量,b是unsigned型变量,以下输入语句中合法的是。

A、scanf("%6.2f%d",&a,&b);B、scanf("%f%n",&a,&b);C、scanf("%f%3o",&a,&b);D、scanf("%f%f",&a,&b);5、下面程序段的结果是。

#include<stdio.h>main(){ float y=1234.4321;printf("%-8.4f\n",y);printf("%10.4f\n",y);}A、1234.4321B、1234.4321C、-1234.4321D、1234.43211234.4321 001234.4321 001234.4321 □1234.43216、以下程序,要输出13 a 14 b,正确的输入数据是。

#include<stdio.h>main(){ int a,b;char c,d;scanf("%d%c%d%c",&a,&c,&b,&d);printf("%d %c %d %c\n",a,c,b,d);}A、13 a 14 bB、13a 14bC、13a14 bD、13 a14b7、以下有关switch语句的描述不正确的是A、每一个case的常量表达式的值必须互不相同B、case的常量表达式只起语句标号作用C、无论如何default后面的语句都要执行一次D、break语句的使用是根据程序的需要8、假设char class的值为'3',则以下程序片段执行后的结果是switch(class){ case '1':printf("First\n");case '2':printf("Second\n");case '3':prmtf("Third\n);break;case '4':printf("Fourth\n");default:printf("Error\n");A、ThirdB、ErrorC、FourthD、Second9、若有以下的数组定义char x[]="12345";char y[]={'1','2','3',',4','5'};则正确的描述是。

习题5

习题5

习题5和参考解答1)选择题(1)在下列关于C函数定义的叙述中,正确的是()。

A.函数可以嵌套定义,但不可以嵌套调用B.函数不可以嵌套定义,但可以嵌套调用C.函数不可以嵌套定义,也不可以嵌套调用D.函数可以嵌套定义,也可以嵌套调用【答案】B【解析】C语言规定:函数不可以嵌套定义,但可以嵌套调用。

(2)以下描述错误的是()。

A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元C.调用函数时,将为形参分配内存单元D.调用函数时,实参与形参的类型应该一致【答案】B【解析】调用函数时实参与形参各自占用独立的内存单元。

(3)以下说法正确的是()。

A.对于用户自定义函数,在使用之前必须加以说明B.说明函数必须指明其参数类型和返回类型C.函数可以返回一个值,也可以什么值也不返回D.空函数不完成任何操作,所以在程序设计中没有用处【答案】C【解析】在主函数之前定义的函数不必声明;传统函数说明不说明参数类型。

(4)函数调用不可以()。

A.出现在执行语句中B.出现在一个表达式中C.作为一个函数的实参D.作为一个函数的形参【答案】D【解析】函数的形参只能是变量。

(5)函数调用语句“func((exp1,exp2),(exp3,exp4,exp5));”包含的实参个数为()。

A.1 B.2 C.4 D.5【答案】B【解析】本题主要考查对于函数形参的理解。

(6)将一个函数声明为static后,该函数将()。

A.既可以被同一源文件中的函数调用,也可以被其他源文件中的函数调用B.只能被同一源文件中的函数调用,不能被其他源文件中的函数调用C.只能被其他源文件中的函数调用,不能被同一源文件中的函数调用D.既不能被同一源文件中的函数调用,也不能被其他源文件中的函数调用【答案】B【解析】静态函数只能被同一编译单元(源文件)中的函数调用。

(7)以下叙述中错误的是()。

A.在不同函数中可以使用相同名称的变量B.函数中的形参是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数的复合语句中定义的变量在本函数范围内有效【答案】D【解析】在一个函数内的复合语句中定义的变量只在本复合语句范围内有效。

C语言等级考试试题考前练一练

C语言等级考试试题考前练一练

⏹ 1. 在计算机内部,一切信息存取、处理和传送的形式是()A) ASCⅡ码B) BCD码C)二进制D) 十六进制⏹2.在C语言中,要求运算数必须是整型的运算符是()A) %B) / C) < D) !⏹ 3. 在C表达式中,可将某一类型的变量a 强制转换成具有类型b的值,可写为()⏹A) (b)a B) a(b) C) b(a) D) (a)b⏹ 4. 用#include命令包含的文件是()⏹A) 目标文件B) 可执行文件C) 源程序文件D) 二进制文件⏹ 5. 关系表达式x>=y>=z,应使用C语言表达式()⏹A) (x>=y)&&(y>=z) B) (x>=y).and.(y>=z)⏹C) (x>=y>=z) D) (x>=y)&(y>=z)⏹ 6. 以下叙述中正确的是()⏹A) 在程序的一行上可以出现多个有效的预处理命令行⏹B) 使用带参的宏时,参数的类型应与宏定义时的一致⏹C)宏替换不占用运行时间,只占编译时间⏹D) 在定义:#define CR 405中,CR是称为“宏名”的标识符⏹7. 在函数中未指定存储类别的变量,其隐含存储类别为()⏹A) 静态B)自动C) 外部D) 存储器⏹8. C语言的函数体中,下面正确的是()⏹A) 可以定义和调用其他函数B) 可以调用但不能定义其他函数⏹C) 不可调用但可以定义其他函数D) 不可调用及定义其他函数⏹9. 下面对结构数据类型的叙述中错误的是()⏹A) 结构变量可以在说明结构类型后定义,也可在说明结构时定义⏹B) 结构可由若干个成员组成,各成员的数据类型可以不同⏹C) 定义一个结构类型后,编译程序要为结构的各成员分配存储空间⏹D) 结构变量的各成员可通过结构变量名和指向结构变量的指针引用⏹10. C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是()⏹A) 地址传递B) 由用户指定传递方式⏹C) 由实参传给形参,并由形参传回来给实参D) 值传递⏹11. 退出一个循环语句(不终止函数的执行)的有效措施是()⏹A) 用break语句B) 用continue语句C) 用return语句D) 用exit语句⏹12. 已知:char c=‟A‟;int i=1,j;执行语句j=!(c&&i++);则i和j的值是()⏹A) 1,0 B) 1,1 C) 2,1 D) 2,0⏹13. 下面关于字符串的说明中,错误的是()⏹A) char *str=“C language“;⏹B) char str[]=“C language”;⏹C) char str[10]=“C language”;⏹D) char str[]={…C‟,… ‟,…l‟,…a‟,…n‟,…g‟,…u‟,…a‟,…g‟,…e‟,…\0‟};⏹14. 设有变量说明:int x;则表达式(x=4*5,x*5),x+25的值为()⏹A) 20 B) 45 C) 100 D) 125⏹15. C语言中,决定函数返回值类型的是()⏹A) return 语句中的表达式类型B) 调用该函数的主调函数类型⏹C) 定义函数时所指定的函数类型D) 传递给函数的实参类型⏹16. 执行下列程序段后,变量i的值是()⏹int i=10⏹switch(i){⏹case 9: i+=1;⏹case 10: i+=1;⏹case 11: i+=1⏹default: i+=1⏹}⏹A) 13 B) 12 C) 11 D) 14⏹17.以下叙述中正确的是()⏹A) C语言的源程序不必通过编译就可以直接运行B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令C) C源程序经编译形成的二进制代码可以直接运行D) C语言中的函数不可以单独进行编译⏹18. 若以下选项中的变量已正确定义,则正确的赋值语句是()A) x1=26.8%3 B) 1+2=x2 C) x3=0x12 D) x4=1+2=3⏹19. 设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式的计算结果不相符的是()A) (a+b)*h/2 B) (1/2)*(a+b)*h C) (a+b)*h*1/2 D) b/2*(a+b)⏹20. 有以下程序,执行后输出结果是()#define f(x) x*xmain( ){ int i;i=f(4+4)/f(2+2);printf(“%d\n”,i); }A) 28 B) 22 C) 16 D) 4⏹21. 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()A) char s[10]=”abcdefg”;B) char t[]=”abcdefg”,*s=t;C) char s[10];s=”abcdefg”; D) char s[10];strcpy(s,”abcdefg”);⏹22. 下述标识符中,合法的用户标识符是()A) A#C B) getch C) void D) ab*⏹23. 在C语言中,字符型数据在内存中的存放形式是()A) 原码B) BCD码C) 反码D) ASCII码⏹24. 若int类型的数据长度为2字节,则unsigned int类型数据的取值范围是()A) 0~255 B) 0~65535 C) -32768~32767 D) -256~255⏹25. 一个C语言程序的组成是()A) 主程序 B) 子程序C) 函数 D) 过程⏹26. 以下述叙不正确的是()A) 一个C源程序可以由一个或多个函数组成B) 一个C源程序必须包含一个main函数C) C程序的基本组成单位是函数D) 在C程序中注释说明只能位于一条语句的后面⏹27. 以下选项中合法的字符常量是()A) "B" B) '\010' C) 68 D) D⏹28. 设x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是()printf("%d,%d\n",x--,--y);⏹A) 10,3 B) 9,3 C) 9,2 D) 10,2⏹29. t为int类型,进人下面的循环之前,t的值为0,则以下叙述中正确的是()while(t=l){ ……}⏹A) 循环控制表达式的值为0 B) 循环控制表达式的值为1⏹C) 循环控制表达式不合法D) 以上说法都不对⏹30. 以下选项中,非法的字符常量是()A) '\t' B) '\17' C) "n" D) '\x23'⏹31. 以下程序执行后sum的值是()main(){ int i,sum;for(i=1;i<6;i++) sum+=i;printf("%d\n",sum);}⏹A) 15 B) 14 C) 不确定D)0⏹32. 有以下程序段,其输出结果是()int x=3;do{ printf("%d ",x-=2); }while (!(--x));⏹A) 1 -2 B) 3 0 C) 1 D) 死循环⏹33. 以下程序的输出结果是()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) 无定值⏹34. 设有以下说明语句,则下面的叙述中不正确的是()struct ex{ int x ; float y; char z ;} example;⏹A) struct是结构体类型的关键字B) example是结构体类型名C) x,y,z都是结构体成员名D) struct ex是结构体类型⏹35. 若有以下程序段,则执行后,c3中的值是()int c1=1,c2=2,c3;c3=1.0/c2*c1;⏹A) 0 B) 0.5 C) 1 D) 2⏹36. 有如下程序,该程序的输出结果是()main(){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++case 2: a++;b++}printf(“a=%d,b=%d\n”,a,b);}⏹A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2⏹37. 有如下程序,该程序的执行结果是()main(){ int x=23;do{ printf(“%d”,x--);}while(!x); }⏹A) 321 B) 23 C) 不输出任何内容D) 陷入死循环⏹38. 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句含有的实参个数是()A) 3 B) 4 C) 5 D) 有语法错⏹39. 有如下程序,该程序中的for循环执行的次数是()#define N 2#define M N+1#define NUM 2*M+1#main(){ int i;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}⏹A) 5 B) 6 C) 7 D) 8⏹40. 设int x=1, y=1; 表达式(!x||y--)的值是()A) 0 B) 1 C) 2 D) -1⏹41.下面程序的输出是()⏹main(){ int a[10]={ 1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}⏹A) 3 B) 4 C) 1 D) 242.下面程序的输出是()⏹main(){ int a=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));printf("%d%d%d%\n",k,a,b);}⏹A) 0 0 3 B) 0 1 2 C) 1 0 3 D) 1 1 2⏹43. 下面程序的输出是()int m=13;int fun2(int x,int y){int m=3;return(x*y-m);}main(){int a=7,b=5;printf("%d\n",fun2(a,b)/m);}⏹A) 1 B) 2 C) 7 D) 1044. 下面程序的输出是()⏹# define X 5⏹# define Y X+1⏹# define Z Y*X/2⏹main(){int a;⏹a=Y;⏹printf(“%d %d\n”,Z,--a);}⏹A) 7 5 B) 12 6 C) 12 5 D) 7 6⏹45. 设有说明:int x, y, z, m=10, n=5;执行下面三个语句,则x,y,z的值分别是()⏹x=(――m==n++)?――m:++n;⏹y=m++;⏹z=n;⏹A) 7,9,7 B) 5,9,7 C) 6,11,5 D) 10,11,10⏹46. 以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是()A)if((a>b)&&(b>c)) k=1; B) if((a>b)||(b>c)) k=1else k=0; else k=0;C)if(a<=b) k=0; D)if(a>b) k=1;else if(b<=c) k=1; else if(b>c) k=1;else k=0;⏹47. 以下程序的输出结果是()union myun{ struct{ int x, y, z; } u;int k;} a;main(){⏹ a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf(%d\n",a.u.x);}⏹A) 4 B) 5 C) 6 D) 0⏹48. 以下程序的输出结果是()#define SQR(X) X*Xmain(){ int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf("d\n",a); }⏹A) 16 B) 2 C) 9 D) 1⏹49. 下列程序的输出结果是()int b=2;int func(int *a){⏹b+=*a;return(b);⏹}main(){⏹int a=2,res=2;res+=func(&a);printf("%d\n",res);}⏹A) 4 B) 6 C) 8 D) 10⏹50. 变量a所占内存字节数是()union U{ char st[4];int i;long l;};struct A{ int c;union U u;}a;⏹A) 4 B) 5 C) 6 D) 8⏹51. 下列四组转义字符中,均合法的一组是( )⏹A) '\t' '\\' '\n' B) '\' '\017' '\x' C) '\018' '\f' '\xad' D) '\\0' '\101''xif'⏹⏹ 1. 下列程序的输出结果是()main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d \n", d*y);}⏹A) 3 B) 3.2 C) 0 D) 3.07⏹ 2. 如果按字长来划分,微机可以分为8位机、16位机、32位机和64位机。

函数答案 (2)

函数答案 (2)
A)地址传递;B)单向值传递;
C)双向值传递;D)由用户指定传递方式
3.以下关于C语言程序中函数的说法正确的是:B。
A)函数的定义可以嵌套,但函数的调用不可以嵌套;
B)函数的定义不可以嵌套,但函数的调用可以嵌套;
C)函数的定义和调用均不可以嵌套;
D)函数的定义和点用都可以嵌套。
4.以下正确的函数形式是:D。
则下面叙述正确的是:。
A)只有a[0][0]元素可得到初值0;
B)数组a中每个元素均可得到初值0。
C)数组a中各元素都可得到初值,但值不一定为0;
D)此说明语句不正确
40.以下程序的运行结果是:。
main( )
{ int a=2,i;
for(i=0;i<3;i++) printf(“%4d”,f(a) ) ; }
C)系统根本不允许用户重新定义标准库函数
D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调
19.以下正确的说法是D。
在C语言中:A)实参和与其对应的形参各占用独立的存储单元
B)实参和与其对应的形参共占用一个存储单元
C)只有当实参和与其对应的形参同名时才共占用存储单元
B)静态(static)类别变量的生存期贯穿于整个程序的运行期间
C)函数的形参都属于全局变量
D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值
28.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);
b++; c++;

C语言程序设计自测题1-5

C语言程序设计自测题1-5

(C)42
(D)46
(C)abcdavcz
(D)xyabcdAB
(D)10
二、填空题(每题 2 分,共 20 分)
1.能表达”30<x<50 或 x<-100”的 C 语言表达式是 。 2.要使以下程序段输出 5 个整数,请填入一个整数。 for(i=0;i<= ;printf(“%d\n”,i+=2)); 3.若输入字符串:acde<回车>,则以下 while 循环执行完成后输出 个#号。 while((ch=getchar())!=„e‟) printf(“#”); 4.设 a=5,b=4,c=2,则 a>b>c 的值为 。 5 .下列程序段 char *p;p=“How are you!”;while(*p) printf(“%c”,*p++);执行后输出的结果 是: 。 6.定义如下变量和数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是: 。 for(i=0;i<3;i++) printf("%d",x[i][2-i]); 7.与十进制数 17 等值的二进制数是: 。 8.在内存中存储”B”要占用 个字节。 9.结构化程序设计规定的三种基本结构是顺序结构、 和循环结构。 10.我们在上机编译一个 c 程序时,系统提示”Redeclaration of „a‟ in function main”。这句话 的含义是: 。
三、程序填空题(20 分,每空 2 分)
1.已知能被 4 整除而不能被 100 整除的或者能被 400 整除的年份是润年,则判断某一年是 否是润年的程序如下: main() { int year,leap; scanf(“%d”,&year); if( ) leap=1; else leap=0; if( ) printf(“是润年”); else printf(“不是润年”); } 2.将 100 至 200 间不能被 3 整除的数输出: main() { int n; for(n=100;n<=200;n++) { if(n%3==0) ; printf(“%d “,n); } } 3.判断 m 是否是素数 #include <math.h>

函数

函数
D) 若同一文件中全局变量和局部变量同名,则全局变量在
局部变量作用范围内不起作用
正确答案是: B 你选择的答案是:未选 ×
9、 对以下程序,正确的说法是________。
sub (char x,char y)
{ int z; z=x%y; return z; }
main( )
1、 C语言中,凡未指定存储类别的局部变量的隐含存储类别是:
A) 自动(auto) B) 静态(static)
C) 外部(extern) D) 寄存器(register)
正确答案是: A 你选择的答案是:A √
2、 在一个C源程序文件中,要定义一个只允许本源文件中所有函数使用
B) void play(int a,b)
C) void play(int a,int b)
D) void play(a as integer,b as integer)
正确答案是: C 你选择的答案是:未选 ×
5、 以下程序的输出结果是
fun(int x,int y,int z)
7、 以下函数func()的功能是:使具有n个元素的一维数组b的每个元素的值
都增加2,划线处应填入________。
func(int b[ ],int n)
{ int ;
for(i=0;i<n;i++) __________; }
A) b[i++] B) b[i]++
return (p); }
A) i=p B) a[p]=a[i]
C) p=j D) p=i
正确答案是: D 你选择的答案是:未选 ×

黑龙江省计算机二级题库(判断题) (1)

黑龙江省计算机二级题库(判断题) (1)

判断1 一个C程序由一个或多个函数组成对2 一个C程序必须包含一个MAIN函数对3 C程序的每一行上可以写多条语句对4 在C语言程序中MAIN函数必须放在程序的开始位置错5 C语言程序的开始执行点式程序中的MAIN函数对6 C程序的书写格式虽然自由、但为了清晰,一般在一行内写一个语句对7 分号是语句的必要组成部分,所以一函数首部的后面和编译预处理的后面都得加分号错8 C程序的书写格式自由,一行内可以写多个语句,一个语句也可以写在多行上对9 C程序中以#CLUDE和#DEFINE开始的程序行均不是C语句对10一个C程序可一个由若干个源程序文件(分别编译的文件模块)组成对11 在C语言中运算符的优先级高低的排列序是:关系运算符、算术运算符、赋值运算符。

错12 在C语言中规定只能由字母、数字和下划线组成标识符,且第一个字符必须为下划线错13 在C语言中关键字是一类特殊的标识符,不允许作为用户标识符使用对14 数据在内存中式以二进制形式存放的对15 C语言的字符常量是用双号括起来的一个字符错16注释在程序执行时不产生任何操作,因此在程序中不提倡注释错17字符串”g/ti/b/bk/101”的长度是13 错18 sum和SUM是相同的变量名错19整型常量-012表示一个负的八进制数12,也就是十进制数-00 错20 位运算的预算对象只能是整型或者字符型的数据,不能那个为实型数据对21如果将一个位清零,就让这位和0进行按位或(1)运算,即可达到清零目的错22 如果要保留某位只需和0进行按位或运算对23 a=(b=4)+(c=6)shi一个合法的赋值表达式对24 关系运算符《=与==的优先级相同错25 若a=3,b=2,c=1则关系表达式‘(a>b)==c’的值为‘真’对26 C语言中所有运算符的结合和方向是‘自左向右’的错27 在一个整型常量后面加一个字母1或者L,代表其类型为long int 对28C语言提供‘位运算’功能。

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