以下正确的函数定义是(

合集下载

C语言单选题

C语言单选题

1、下列符号串中,不属于C语言保留字的是A、ifB、thenC、staticD、for参考答案:B2、下列符号中,不属于转义字符的是A、\\B、\x00C、\nD、\09参考答案:D3、以下程序的输出结果是# include <stdio.h># include <string.h>void main(){char str[12]={'s','t','r','I','n','g','\0'};printf("%d\n",strlen(str));}A、6B、7C、11D、12参考答案:A4、下列符号可以作为变量名的是:A、+aB、*pC、_DAYD、next day参考答案:C5、下面有关for循环的正确描述是:A、for循环只能用于循环次数已经确定的B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来参考答案:D6、C语言规定,函数返回值的类型是由A、return语句中的表达式类型所决定B、调用该函数时的主函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定参考答案:D7、假定a和b为int型变量,则执行以下语句后b的值为a=1;b=10;do{b-=a;a++;}while(b--<0);A、9B、-2C、-4D、8参考答案:D8、若有以下说明,则数值为4的表达式是:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',g;A、a[g-c]B、a[4]C、a['d'-'c']D、a['d'-c]参考答案:D9、以下叙述不正确的是A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面参考答案:D10、执行下列程序段,其中的do-while循环一共执行_次。

以下正确的函数定义是

以下正确的函数定义是
C.数组中的全部元素的值D.数组元素的个数
【答案】A
7.如果在一个函数中的复合语句中定义了一个ቤተ መጻሕፍቲ ባይዱ量,则该变量()。
A.只在该复合语句中有定义B.在该函数中有定义
C.在本程序范围内有定义D.为非法变量
【答案】C
【说明】因为该变量为局部变量。
8.下面程序的输出是()。
int i=2;
printf("%d%d%d",i*=2,++i,i++);
A.#define POWER(x) x*xB.#define POWER(x) (x)*(x)
C.#define POWER(x) (x*x)D.#define POWER(x) ((x)*(x))
【答案】D
12.以下正确的叙述是()。
A.C语言的预处理功能是指完成宏替换和包含文件的调用。
B.C语言的预处理指令只能位于C源程序文件的首部。
z=x+y; return z;}return z;}
【答案】D
【说明】其返回值与函数类型相符。
2.若调用一个函数,且此函数中没有return语句,则正确的说法是()。
A.该函数没有返回值B.该函数返回若干个系统默认值
C.能返回一个用户所希望的函数值D.返回一个不确定的值
【答案】A
3.以下不正确的说法是()。
【答案】A
10.以下不正确的说法是()。
A.全局变量,静态变量的初值是在编译时指定的
B.静态变量如果没有指定初值,则其初值为0
C.局部变量如果没有指定初值,则其初值不确定
D.函数中的静态变量在函数每次调用时,都会重新设置初值
【答案】D
【说明】静态局部变量在其函数调用结束后仍然可以保留变量值。

C语言专升本考试(习题卷5)

C语言专升本考试(习题卷5)

C语言专升本考试(习题卷5)第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]表达式a>>3|b的计算顺序是( )。

(2分)A)1. 先执行左移,后执行或运算B)1. 先执行或运算,再执行左移C)1. 先执行或运算,再执行右移D)1. 先执行右移,再执行或运算答案:D解析:2.[单选题]对于基类型相同的两个指针变量之间,不能进行的运算是( )。

(2分)A)<B)"=C)+D)-答案:C解析:3.[单选题]以下正确的程序段是( )。

(2分)A)1. char str[20]; scanf("%s",&str);B)1. char *p; scanf("%s",p);C)1. char str[20]; scanf("%s",&str[2]);D)1. char str[20],*p=str; scanf("%s",p[2]);答案:C解析:4.[单选题]若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是( )。

(2分)A)1. read a,b,c;B)1. getchar(a,b,c);C)1. scanf("%d%d%d",&a,&b,&c);D)1. scanf("%d%d%d",a,b,c);答案:C解析:5.[单选题]Char *s1="hello",*s2;s2=s1;则()。

A)s2指向不确定的内存单元B)不能访问"hello"C)puts(s1);与puts(s2);结果相同D)s1不能再指向其它单元答案:C解析:6.[单选题]若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存C)scanf("%d",*p);D)scanf("%d",**p);答案:A解析:7.[单选题]以下选项中,与k=n++完全等价的表达式是()。

c语言关于函数的试题及答案

c语言关于函数的试题及答案

c语言关于函数的试题及答案1. 题目:以下哪个选项是正确的C语言函数定义?- A. int function(int a, int b) { return a + b; } - B. int function(int a, int b) { return a - b; } - C. int function(int a, int b) { return a * b; } - D. All of the above答案:D2. 题目:在C语言中,函数的返回值类型是什么?- A. void- B. int- C. float- D. char答案:A3. 题目:以下哪个选项是C语言中有效的函数声明?- A. int add(int a, int b);- B. int add(int, int);- C. int add(int a; int b);- D. int add(int a, int b) {}答案:A4. 题目:在C语言中,函数的参数默认传递方式是什么? - A. 值传递- B. 引用传递- C. 指针传递- D. 以上都不是答案:A5. 题目:以下哪个选项是C语言中正确的递归函数定义?- A. int fact(int n) { if (n == 0) return 1; else return n * fact(n - 1); }- B. int fact(int n) { if (n == 0) return 1; else return n * fact(n + 1); }- C. int fact(int n) { if (n == 1) return 1; else return n * fact(n - 1); }- D. All of the above答案:A6. 题目:在C语言中,如何定义一个接受任意数量参数的函数?- A. 使用不定参数列表- B. 使用数组作为参数- C. 使用指针作为参数- D. 使用结构体作为参数答案:A7. 题目:以下哪个选项是C语言中正确的函数指针声明?- A. int (*func)(int);- B. int *func(int);- C. int func(int)[];- D. int (*func)(int, int);答案:A8. 题目:在C语言中,如果函数返回一个结构体,那么函数的返回类型是什么?- A. struct- B. void- C. int- D. char答案:A9. 题目:以下哪个选项是C语言中正确的函数重载声明?- A. void add(int a, int b);- B. int add(int a, int b);- C. void add(int a, int b, int c);- D. All of the above答案:D10. 题目:在C语言中,如何定义一个接受可变数量参数的函数?- A. 使用不定参数列表- B. 使用数组作为参数- C. 使用指针作为参数- D. 使用结构体作为参数答案:A。

C程序设计考试题A

C程序设计考试题A

C语言程序设计考试题A注意事项:1. 答题前,请先在试卷和机读卡上对应位置用钢笔准确清楚的填写上本人姓名和学号,机读卡的科目栏里填写年级和专业的简称,并用2B铅笔填涂学号(必须填在前8列,剩最右边的一列不填涂);2. 试卷答案必须用2B铅笔在机读卡上按对应题号准确、清楚涂写,答在试卷上无效;3. 本试卷共74个小题,机读卡上按【1】~【80】的编号顺序涂写。

【1】~【60】每题1分,【61】~【80】每题2分,共100分。

1.在C语言中,要求参加运算的数必须是整数的运算符是【1】(A)/ (B)* (C)%(D)=2.以下不正确的说法是【2】(A)全局变量、静态变量的初值是在编译时指定的(B)静态数值型变量如果没有指定初值,则其初值为0(C)局部变量如果没有指定初值,则其初值不确定(D)函数中的静态变量在函数每次调用时,都会重新赋初值3.已知:int a[ ]={1,2,3,4},x,*pt=&a[1]; 则执行语句“x=(*--pt)++;”之后,变量x的值为【3】(A)1(B)2 (C)3 (D)44.已知:int x,*p=&x; 则下列输入输出x值的函数调用中错误的是【4】(A)scanf(“%d”,&x); (B)scanf(“%d”,p);(C)printf(“%d”,x); (D)printf(“%d”,p);5.在说明一个结构体变量时系统分配给它的存储空间是【5】(A)该结构体中第一个成员所需的存储空间(B)该结构体中最后一个成员所需的存储空间(C)该结构体中占用最大存储空间的成员所需的存储空间(D)该结构体中所有成员所需的存储空间的总和6.C语言中函数返回值的类型是由【6】决定的(A)return语句中的表达式类型(B)调用该函数的主调函数类型(C)调用函数时临时(D)定义函数时所指定的函数类型7.设有数组定义:char array [ ]="China"; 则数组array所占的空间为【7】(A卷)第 1 页共13 页(A)4个字节(B)5个字节(C)6个字节(D)7个字节8.凡在函数中未指定存储类别的变量,其隐含的存储类别为【8】(A)自动(auto)(B)静态(static) (C)外部(extern) (D)寄存器(extern) 9.下列选项中是非法的C语言转义字符的是【9】(A)'\b' (B)'\' (C)'\037' (D)'\xf'10.下面说法正确的是【10】(A)函数定义可以嵌套,但函数调用不能嵌套(B)函数定义不可以嵌套,但函数调用可以嵌套(C)函数定义和调用均不能嵌套(D)函数定义和调用均可以嵌套11.语句“static int i=10;”中,“i=10”的含义是【11】(A)将变量i初始化为10 (B)只说明了一个静态变量(C)与“auto int i=10;”在功能上等价(D)给变量i赋值为1012.下述对C语言字符数组的描述中错误的是【12】(A)字符数组可以存放字符串(B)字符数组中的字符串可以进行整体输入输出(C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值(D)字符数组的下标从0开始13.有以下说明和语句,且0<=i<10,则下面【13】是对数组元素地址的正确表示int a[ ]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;(A)&(a+1) (B)a++ (C)&p (D)&p[i]14.若有以下说明和语句,则p2-p1的值为【14】int a[10],*p1,*p2;p1=a; p2=&a[5];(A)5(B)6 (C)10 (D)错误的表达式15.已知:char s[10],*p=s; 则在下列语句中,错误的语句是【15】(A)p=s+5; (B)s=p+5; (C)s[2]=p[4]; (D)p[0]=’a’;16.已知:char s[10]; int i=1; 则在下列引用数组元素的表达式中,错误的表示形式是【16】(A)s[i] (B)*(s+i) (C)*s (D)*((s++)+i)17.已知:char a[5],*p=a; 则正确的赋值语句是【17】(A)a=”abcd”; (B)*a=”abcd”; (C)p=”abcd”;(D)*p=”abcd”;18.设有int i; char c; float f; 以下结果为整数的表达式是【18】(A卷)第 2 页共13 页(A 卷) 第 3 页 共 13 页(A )i+f (B )i*c (C )c+f (D )i+c+f19. 以下使变量i 的运算结果为4的表达式是【19】 (A )int i=0,j=0;(B )int i=1,j=0; (i=3,(j++)+i);j=i=((i=3)*2);(C )int i=1,j=1;(D )int i=1,j=1;(j==1)?(i=1):(i=3);i+=j+=2;20. 设char ch; 以下正确的赋值语句是【20】 (A )ch=’123’;(B )ch=’\xff ’;(C )ch=’\08’;(D )ch=’’\’’;21. 设n=10,i=4,则赋值运算n%=i+1执行后,n 的值为【21】 (A )0(B )3(C )2(D )122. 逗号表达式(a=3*5,a*4),a+15运算后,a 的值为【22】 (A )60(B )30(C )15(D )9023. 若有说明int x,y; 不能实现以下函数关系的程序段是【23】(A )if(x<0) y=-1;(B )if(x>=0) else if(x==0) y=0;if(x>0) y=1; else y=1;else y=0;else y=-1;(C )y=0; (D )y=-1; if(x>=0)if(x!=0) { if(x>0) y=1; } if(x>0) y=1;else y=-1;else y=0;24. 设有说明int s[2]={0,1},*p=s; 则下列错误的C 语句是【24】 (A )s+=1;(B )p+=1;(C )*p++;(D )(*p)++;25. 为了判断两个字符串s1和s2是否相等,应当使用【25】 (A )if(s1=s2)(B )if(s1==s2) (C )if(strcmp(s1,s2)==0)(D )if(strcpy(s1,s2))26. 一个C 程序执行是从【26】(A )第一个函数开始,直到最后一个函数结束 (B )第一个语句开始,直到最后一个语句结束⎪⎩⎪⎨⎧>===<-=)0(1)0(0)0(1x y x y x y(C)从main()函数开始,在main()函数中结束(D)从main()函数开始,直到源文件中的最后一个函数27.下列选项中是C语言提供的合法的数据类型关键字的是【27】(A)string (B)Int (C)integer (D)char28.以下程序段int k=0; while(k=1) k++; while 循环执行的次数是【28】(A)无限次(B)有语法错,不能执行(C)一次也不执行(D)执行1次29.在下面的条件语句中(其中s1和s2表示C语言的语句),只有一个在功能上与其它三个语句不等价,它是【29】(A)if(p) s1; else s2; (B)if(p==0) s1; else s2;(C)if(p!=0) s1; else s2; (D)if(p==0) s2; else s1;30.若int k=10; 执行下列程序后,变量k的正确结果是【30】switch(k){case 9: k+=1;case 10: k+=1;case 11: k+=1;default: k+=1;}(A)10 B)11 (C)12 (D)1331.若数组名作实参而指针变量作形参,函数调用实参传给形参的是【31】(A)数组的长度(B)数组第一个元素的值(C)数组所有元素的值(D)数组第一个元素的地址32.以下错误的描述是【32】(A)break语句不能用于循环语句和switch语句外的任何其他语句(B)在switch语句中使用break语句或continue语句的作用相同(C)在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环(D)在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环33.f or(表达式1; ; 表达式3)可理解为【33】(A)for(表达式1; 0 ; 表达式3) (B)for(表达式1; 1 ; 表达式3)(C)for(表达式1; 表达式1 ; 表达式3) (D)for(表达式1; 表达式3 ; 表达式3)34.设int k; 则语句for(k=0;k=1;k++); 和语句for(k=0;k==1;k++); 执行的次数分别是【34】(A)无限次和0次(B)0次和无限次(C)都是无限次(D)都是0次(A卷)第 4 页共13 页35.有以下程序段:int n=0,p;do{ scanf(“%d”,&p); n++;} while(p!=12345 && n<3);此处do~while循环的结束条件是【35】(A)p值不等于12345并且n的值小于3(B)p值等于12345并且n的值大于等于3(C)p值不等于12345或者n的值小于3(D)p值等于12345或者n的值大于等于336.下列各程序段中,没有构成死循环的是【36】(A)int i=10; (B)int y=1;while(1) for(; y=10;y++);{ i=i+i%10;if(i==10) break;}(C)int k=100; (D)int s=4;do while(--s){ ++k; s--;} while(k>=100);37.以下四个关于循环语句的结论中,只有一个是错误的,它是【37】(A)可以用while语句实现的循环一定可以用for语句实现(B)可以用for语句实现的循环一定可以用while语句实现(C)可以用while语句实现的循环一定可以用do~while语句实现(D)可以用do~while语句实现的循环一定可以用while语句实现38.已知int j,i=1; 则执行j=-i++; 后,i和j的值为【38】(A)1 -1 (B)1 1 (C)2 -1 (D)2 1 39.以下正确的函数定义是【39】(A)double fun(int x,int y) (B)double fun(int x, y) { z=x+y; return z; } {int z; z=x+y; 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; }(A卷)第 5 页共13 页40.若x为整型变量,以下定义指针的正确语句是【40】(A)int p=&x; (B)int p=x; (C)int *p=&x; (D)p=x;41.在C语言中,如果下面的变量都是int类型,则输出的结果是【41】sum=a=5; a=sum++ , a++ , ++a;printf("%d\n",a);(A)5 (B)6 (C)7(D)842.以下正确的说法是【42】(A)实参变量与其对应的形参变量各占用独立的存储单元(B)实参变量与其对应的形参变量共占用一个存储单元(C)只有当实参变量与其对应的形参变量同名时才占用相同的存储单元(D)形参变量是虚拟的,不占用存储单元43.若i为整型变量,则以下循环执行次数是【43】for (i=2; i!=0;) printf("%d", i-- );(A)无限次(B)0次(C)2 次(D)1次44.对以下说明语句的正确理解是【44】int a[10]={1,2,3,4};(A)将4个初值依次赋给a[1]至a[4](B)将4个初值依次赋给a[0]至a[3](C)将4个初值依次赋给a[6]至a[9](D)因为数组长度与初值个数不一致,所以此语句不正确45.已知:char str1[20], str2[10]=”books”; 则在程序中能够将字符串“books”赋给数组str1的正确语句是【45】(A)str1=”books”; (B)strcpy(str1,str2);(C)str1=str2; (D)strcpy(str2,str1);46.以下不正确的说法是【46】(A)在不同函数中可以使用相同名字的变量(B)形式参数是局部变量(C)在函数内定义的变量只在本函数范围内有定义(D)在函数内的复合语句中定义的变量在本函数范围内有定义47.已知一个函数的定义如下:double fun(int x, double y){ ……}则该函数正确的函数原型声明为【47】(A卷)第 6 页共13 页(A 卷) 第 7 页 共 13 页(A )double fun(int x; double y) ; (B )fun(int x,double y); (C )double fun(int, double);(D )fun(x,y);48. 若已定义:int a[10],*p=a; 并在以后的语句中未改变p 的值,不能表示a[1] 地址的表达式是【48】 (A )p+1(B )a+1(C )a++(D )++p49. 要在C 中求)30sin( 的值,则可以调用库函数,格式为【49】 (A )sin(3.14159/6) (B )sin(30) (C )sin(double(30))(D )sin(30.0)50. 在一个源文件中定义的外部变量的作用域【50】 (A )本文件的全部范围(B )本程序的全部范围(C )从定义该变量的位置开始至本文件结束 (D )本函数的全部范围 51. 已知函数fun 的定义为:void f(){ …… }则函数定义中void 的含义是【51】 (A )执行函数f 后,函数没有返回值 (B )执行函数f 后,函数不再返回(C )执行函数f 后,可以返回任意类型的返回值 (D )执行函数f 后,函数返回void 类型的值52. 若有定义:int a[10]; 则对数组a 中元素的正确引用是【52】 (A )a[10](B )a[4.8](C )a(5)(D )*(a+2)53. 以下不正确的定义语句是【53】 (A )double x[5]={2.0,4.0,6.0,8.0,10.0}; (B )int y[5]={0,1,3,5,7,9}; (C )char c1[ ]={‘1’,’2’,’3’,’4’,’5’};(D )char c2[ ]={‘\x10’,’\xa ’,’\x8’};54. 有两个字符数组a,b ,则以下正确的输入语句是【54】 (A )gets(a,b);(B )scanf(“%s,%s ”,a,b); (C )scanf(“%s,%s ”,&a,&b);(D )gets(&a); gets(&b);55. 已知:char *str1=”abcde ”, *str2=”xyz ”; 则执行语句:printf(“%d ”,strlen(strcpy(str1,str2)));输出结果是【55】(A )9(B )3(C )5(D )856. 调用strlen(“abcd\0ef\0g ”)的返回值为【56】 (A )4(B )5(C )8(D )957. 在C 语言中进行乘方运算,例如求a 的3次方,可以使用【57】(A)a^3 (B)a**3 (C)pow(a,3)(D)power(a,3)58.以下对一维整型数组a的正确说明是【58】(A)int a(10); (B)int n=10,a[n]; (C)int n; (D)#define SIZE 10scanf(“%d”,&n);int a[SIZE];int a[n];59.已知:int i=0,j=1,*p=&i,*q=&j; 其中错误的语句是【59】(A)i=*&j; (B)p=&*&i; (C)j=*p++; (D)i=*&q;60.以下关于结构体与共用体的说法,其中正确的是【60】(A)共用体每个成员分别占有自己的内存单元(B)结构体变量所占的内存长度等于最长的成员的长度,共用体变量所占内存长度是各成员占的内存长度之和(C)共用体同一个内存段可以存放几种不同类型的成员,但在某一时刻只能存放一个成员(D)结构体类型可以出现在共用体类型的定义中,但共用体不能出现在结构体类型定义之中61.以下程序的作用是将给出的字符按其格式读入数组ss中,然后输出行列号之和为3的数组元素。

C程序设计题库(含答案)

C程序设计题库(含答案)
else if(x<10.0) y = 1.0/x;
else y = 1.0;
printf("%f\n",y);
}
A.0.000000B.0.250000C.0.500000D.1.000000
(3)下列程序的运行结果是( )
#include <stdio.h>
void main()
{
int a = 2, b = -1, c = 2;
答案:B
4、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)
A、6.500000 B、6 C、5.500000 D、6.000000
5、以下的选择中,正确的赋值语句是()。
A) a=1,b=2 B) j++ C) a=b=5; D) y=int(x)
A) 10<回车>B) 10.0,22.0,33.0<回车>
22<回车>
33<回车>
C) 10.0<回车> D) 10 22<回车>
22.0 33.0<回车> 33<回车>
答案:B
2.三大结构
(1)下列程序的运行结果是()
#include <stdio.h>
void main()
{
char c1 = '6', c2 = '0';
B.形参可以是常量,变量或表达式
C.实参可以为任意类型
D.如果形参和实参的类型不一致,以形参类型为准
9.C语言规定,函数返回值的类型是由( )决定的。
A. return语句中的表达式类型

C语言程序设计_西安理工大学中国大学mooc课后章节答案期末考试题库2023年

C语言程序设计_西安理工大学中国大学mooc课后章节答案期末考试题库2023年

C语言程序设计_西安理工大学中国大学mooc课后章节答案期末考试题库2023年1.for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是()参考答案:32.对下面程序段,描述正确的是()for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%d",x);}参考答案:最多允许输出100个非负整数3.表示y在(-∞,3]和[23,+∞)范围内为真的表达式为()参考答案:(y<=3)||(y>=23)4.若有定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为参考答案:double5.设有以下程序,若要使程序的输出值为2,则应该从键盘给n输入的值是()voidmain(){ints=0,a=1,n;scanf("%d",&n);do{s=s+1;a=a-2;}while(a!=n);printf("%d",s);}参考答案:-36.以下不正确的说法是()参考答案:在主函数内定义的变量可在其余函数中通用7.设int a=1,b=2;以下选项中不正确的语句是参考答案:a*3=38.下列程序的运行结果是()#include void fun(); int main() { int a=10; fun();printf("%5d",a); return 0; } void fun() { int a=20; printf("%5d",a);}参考答案:20 109.在下面的叙述中,不正确的是()。

参考答案:枚举常量的值可以是整数或字符串10.已知字符'0'的ASCII码为十六进制的30H,下面程序的输出是()。

C语言程序设计习题集及答案修改

C语言程序设计习题集及答案修改

C语言程序设计习题集基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。

A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。

A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句4 下面标识符中,合法的用户标识符是___。

A 1abcB includeC a-b-c123D char8 已知int i;,则执行语句 i=2.6;后,i的值为___。

A 2B 3C 2.6D 不确定10 若y为int型变量,则执行以下语句后,y的值是___。

y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。

A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +514 若x、y、z均为整型常量,且a=100,则执行下列语句后的z值为___。

x=a++; y=--a; z=x+y-a--;A 100B 400C 200D 300'';,则执行语句c=a/b+d%a+0.5;后c的值为___。

a=8,b=5,c;char 18 若有定义:int d= AA2 B 2.5C 3D 类型不一致,无法计算,编译出错19 在有以下程序:int main(){ int i=10,j=1;i=i+j++;printf(%d,%d,%d\n,i++,++j,i);int main()执行后输出结果是___。

A 12,3,11B 12,2,11C 11,3,11D 12,3,1220 已知int i=65;,则putchar(i);printf(%d,i);printf(%c,i);的输出结果为___。

A A,65,AB 65,65,AC A,A,65D A,A,A21 已知int y,a,i=1;,则语句printf(%d,%d,-i++,(y=a=3.6*3));的输出结果为___。

1以下正确的函数定义是

1以下正确的函数定义是
C.数组中的全部元素的值D.数组元素的个数
【答案】A
7.如果在一个函数中的复合语句中定义了一个变量,则该变量()。
A.只在该复合语句中有定义B.在该函数中有定义
C.在本程序范围内有定义D.为非法变量
【答案】C
【说明】因为该变量为局部变量。
8.下面程序的输出是()。
int i=2;
printf("%d%d%d",i*=2,++i,i++);
main()
{ int x=2;
PRINT(F(3)*x);}
【答案】9
14.设有以下程序,为使之正确运行,请在横线中填入应包含的命令行。
main()
{ int x=2,y=3;
printf("%d\n",pow(x,y));}
【答案】#include <math.h>
15.下面程序的运行结果是。
main()
{int k; i=5;
for(k=0; k<I; k++)
num[i]=0;
for(k=0; s[k]; k++)
{ i=-1;
switch(s)
{case'a':case'A':i=0;
case'e':case'E':i=1;
case'i':case'I':i=2;
case'o':case'O':i=3;
}
sub2()
{ int a[MAX], i ,max;
max=5;
for(i=0; i<MAX; i++) a[i]=i;

C语言习题(7)

C语言习题(7)

C语言习题(第7章函数)一.选择题1.以下说法正确的是________。

A)C语言程序总是从第一个函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分2.以下正确的说法是___________。

A)用户若需要调用标准库函数,调用前必须重新定义B)用户可以重新定义标准库函数,如若此,该函数将失去原有定义C)系统不允许用户重新定义标准库函数D)用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。

3.以下正确的函数定义是___________。

A)double fun(int x, int y); B)int fun(int x,y){ z=x+y ; return z ; } { int z ; return 3;}C)double fun (x,y) D)double fun (int x, int y){ int x, y ; double z ; { double z ; z=x+y;z=x+y ; return z ; } return z ; }4.C语言中,简单变量做实参和形参时,以下正确的说法是___________。

A)实参和与其对应的形参各占用独立的存储单元B)实参和与其对应的形参共占用一个存储单元C)只有当实参和与其对应的形参同名时才共占用相同的存储单元D)形参时虚拟的,不占用存储单元5.C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是___________。

A)地址传递B)单向值传递D)由用户指定传递方式6.C语言规定,函数返回值的类型是由___________决定的。

A)return语句中的表达式类型B)调用该函数时的主调函数类型C)调用该函数时由系统临时D)在定义函数时所指定的函数类型7.以下正确的描述是___________。

函数作业题2

函数作业题2

第7章用函数实现模块化程序设计习题一、选择题1、以下正确的说法是()。

A)实参和与其对应的形参各占用独立的存储单元B)实参和与其对应的形参共占用一个存储单元C)只有当实参和与其对应的形参同名时才共占用相同的存储单元D)形参是虚拟的,不占用存储单元2、以下正确的函数定义是()。

A)double fun(int x, int y) B)double 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 ; } return z ; }3、以下正确的说法是()。

A)用户若需要调用标准库函数,调用前必须重新定义B)用户可以重新定义标准库函数,如若此,该函数将失去原有定义C)系统不允许用户重新定义标准库函数D)用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。

4、若调用一个函数,且此函数中没有return语句,则正确的说法是()。

A)该函数没有返回值B)该函数返回若干个系统默认值C)能返回一个用户所希望的函数值D)返回一个不确定的值5、以下不正确的说法是()。

A)实参可以是常量,变量或表达式B)形参可以是常量,变量或表达式C)实参可以为任意类型D)如果形参和实参的类型不一致,以形参类型为准6、C语言中的函数()。

A)可以嵌套定义,不可以嵌套调用B)不可以嵌套定义,可以嵌套调用C)可以嵌套定义,也可以嵌套调用D)嵌套定义和嵌套调用都不允许7、C语言规定,函数返回值的类型是由()决定的。

A)return语句中的表达式类型 B)调用该函数时的主调函数类型C)调用该函数时由系统临时 D)在定义函数时所指定的函数类型8、若用数组名作为函数调用的实参,传递给形参的是()。

C语言程序设计(第3版)第6章补充习题及答案

C语言程序设计(第3版)第6章补充习题及答案
C.int fnsum(iNum1,iNum2)D.int fnsum(int iNum1;int iNum2)
(4)简单变量做实参时,它和对应形参之间的数据传递方式为___B___。
A.地址传递B.单向值传递
C.由实参传给形参,再由形参传回给实参
D.由用户指定传递方式
(5)C语言允许函数值类型默认定义,此时该函数值隐含的类型是__B____。
D.如果函数值的类型与返回值的类型不一致,以函数类型为准。
(7)如果未指定局部变量类型,其隐含的存储类别为。
A.自动(auto)B.静态(static)
C.外部(extern)D.寄存器(register)
(8)以下叙述中不正确的是。
A.在不同的函数中可以使用相同名字的变量
B.函数中的形式参数是局部变量
}
fnMax ( int iNum1, int iNum2)
{ if (iNum1>iNum2)
return iNum1;
else
return iNum1;;}
(2)以下程序的运行结果是___A+B=4____。
int iNum1=5;int iNum2=7;
main()
{ int iNum1=4,iNum2=5,iSum;
(2)数组名作为实参传递给函数时,传递的是____C____。
A.该数组长度B.该数组的元素个数
C.该数组首地址D.该数组中各个元素的值
(3)以下函数定义正确的是___A_____。
A.int fnSum(int iNum1,int iNum2)B.int fnsum(int iNum1,iNum2)
{static int iNum=1;
iNum=iNum+2;

C语言习题库(可编辑)

C语言习题库(可编辑)

C语言习题库C语言概述一、单选题一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C、本程序的MAIN函数开始,到本程序的最后一个函数结束。

D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。

以下叙述正确的是在C程序中,MAIN函数必须位于程序的最前面。

C程序的每行中只能写一条语句。

C语言本身没有输入输出语句。

在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

C语言规定,在一个源程序中,MAIN主函数的位置是在:必须在最前面。

必须在系统调用的库函数的后面可以在任意位置。

必须在最后面一个C程序是由:一个主程序和若干子程序组成函数组成若干过程组成若干子程序组成以下叙述不正确的是:一个C源程序可由一个或多个函数组成一个C源程序必须包含一个MAIN函数C程序的基本组成单位是函数在C程序中,注释说明只能位于一条语句的后面二、填空题C源程序的基本单位是( )一个C源程序至少应包括一个( )在一个C源程序中,注释部分两侧的分界符分别为( )和( )在C语言中,输入操作是由库函数( )完成的,输出操作是由库函数( )完成的。

数据类型、运算符与表达式一、单选题若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32)A、4B、16C、32D、52下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseif, struct, type下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5) 已知各变量的类型说明如下:int k, a, b;unsinged long w5;double x1.42;则以下不符合C语言语法的表达式是A、x%-3B、w+-2;C、ka2,b3,a+bD、a+a-b4*a3二、填空题在C语言中(以16位机为例),一个char型数据在内存中所占的字节数为( ),一个int 型数据在内存中所占的字节数为( )。

教材每章后选择题参考答案

教材每章后选择题参考答案

习题 1:一、选择题1. C 语言中的表记符只好由字母,数字和下划线构成且第一个字符( A ) 。

A.一定为字母或下划线B.一定为下划线C.一定为字母D.能够是字母、数字或下划线中的任一个2. C 语言中,编程人员能够使用的合法表记符是( D ) 。

A. ifB. 6e8C. charD. printE. a+b3. C 语言程序中能够对程序进行说明,说明部分一定用符号( C) 括起来。

A.{ 和}B. [ 和 ]C./* 和 */D. */ 和 /*4. C 语言程序编译时,程序中的说明部分是( D )。

A.参加编译,并会出此刻目标程序中B.参加编译,但不会出此刻目标程序中C.不参加编译,但会出此刻目标程序中D.不参加编译,也不会出此刻目标程序中5.以下表达正确的选项是 ( c ) 。

A.在 C 程序中, main() 函数一定位于程序的最前方B. C 程序的每行中只好写一条语句C. C 语言自己没有输入输出语句D.在对一个 C 程序进行编译的过程中,可发现说明中的拼写错误6.C 程序要正确地运转,一定要有 ( C ) 函数。

A. printf()函数B.定义的函数C. main()函数D.不需要函数7.以下表达正确的选项是 ( D ) 。

A.编写 C程序,只要编译、连结没有错误,就能运转获取正确的结果B.C 程序的语法错误包含编译错误和逻辑错误C.C 程序有逻辑错,则不行能连结生成EXE文件D.C 程序的运转时错误也是由程序的逻辑错误产生的,惹出发序的运转中止习题 2:一、选择题1.履行代码:int k;k=8567; printf("|%-06d|\n",k);后显示( C)。

A.没法显示B. |008567|C. |8567 |D. |-08567|2. 用小数或指数形式输入实数时,在scanf 函数中格式说明字符为(c)。

A. d B. c C . f D. r3. 能够输入字符型数据至字符变量 c 的语句是( d)。

C语言考试复习题及答案

C语言考试复习题及答案

一、单选题(请将正确答案写在答题纸,1~20题每题1分,21~35题每题2分,共50分)1. 下列关于C语言的说法不正确的是( D )。

A.C语言既具有高级语言的一切功能,也具有低级语言的一些功能B.注释可以出现在程序中任意合适的地方C.C语言中的每一条执行语句都必须用分号结束,分号是C语言的一部分D.定义函数的首行要加分号2. C语言程序的执行顺序是(B)。

A.从第一个函数开始执行B.从main函数开始执行C.从任意函数开始执行D.从第一条语句开始执行3. 以下关于注释的叙述,正确的是(D)。

A.注释参与编译,影响程序结果B.注释不参与编译,但影响程序结果C.注释参与编译,但不影响程序结果D.注释不参与编译,不影响程序结果4. 以下叙述正确的是(A)。

A.C语言程序可以在任意C编译器下编译B.C语言程序只能在TC环境下编译C.C语言程序只能在VC或TC环境下编译D.C语言程序只能在VC环境下编译5. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( B )。

A.必须为字母B.必须为下划线或字母C.必须为下划线D.可以是字母,数字和下划线中任一字符6. 下面四个数字常量选项中,书写均正确的是(D)。

A.016 0x8f 018 (零开头的是八进制,不能用8)B.0312 7ff -087(8进制没有符号)C.0xbc 0a7(8进制没有a)0xaD.070 0xf1 0x19(16进制以ox开头)7. 若有说明语句:char c=0x7f;则变量c(B)。

A.包含3个字符B.包含1个字符C.包含2个字符D.说明不合法,c的值不确定8. 设有int x=11;则表达式(++x*1/3)的值是( B )。

(11+1再除以3)A.3B.4C.11D.129. 阅读下面程序段,输出结果为( B )。

(z-a=25)#include "stdio.h"void main(){ char c;c=('z'-'a')/3+'A';putchar(c);}A.HB.JC.ID.K10. 若有定义和语句:int a=23,b=023; printf(“%x,%d \n”,a,b);输出结果是( D )。

C语言练习4(函数)=参考答案

C语言练习4(函数)=参考答案

C语言(函数,变量作用范围)一、选择题1 下列定义不正确的有 ( C ) 。

A)#define PI 3.141592 B)#define S 345C)int max(x,y); D)char c;int x,y ;{ }2 下列程序结构中,不正确的是 ( B )。

A)main() B) main(){float a,b,c; {float a,b,c;scanf("%f,%f",&a,&b); scanf("%f,%f",&a,&b);c=add(a,b); c=add(a,b);...... .....} }int add(float x,float y) float add(float x,float y) { ... } { ... }C)float add(float x,float y); D)float add(float x,float y) main() { ... }{float a,b,c; main()scanf("%f,%f",&a,&b); {float a,b,c;c=add(a,b); scanf("%f,%f",&a,&b);...... c=add(a,b);} .....float add(float x,float y) }{ ... }3 一个C语言的程序总是从( A )开始执行的.A)main函数B)文件中的第一个函数C)文件中的第一个子函数调用D)文件中的第一条语句4 以下正确的函数定义是( D ).A)double fun(int x,int y){z=x+y; return z;}B) double fun(int x,int y);{int z;z=x+y; return z;}C) fun(int x,y){int z; return z;}D) double fun(int x,int y){double z;z=x+y; return z;}5 以下正确的函数声明形式是( D ).A) double fun(int x,int y)B) double fun(int x;int y)C) double fun(int ,int )D) double fun(int ,int );6 以下说法中正确的是( A )在C语言中A)实参与其对应的形参各占用独立的存储单元B)实参与其对应的形参占用同一个存储单元C)只有当实参与形参同名时才占用同一个存储单元D)实参占用存储单元,但形参是虚拟的,不占用存储单元7 设有如下函数定义:int f(char *s){ char *p=s ;while(*p!='\0') p++;return(p-s) ;}如果在主程序中用下面的语句调用上述函数,则输出结果为( A ). printf("%d\n",f("goodbye!"));的输出结果是A) 3 B) 6 C) 8 D) 08 下面程序段中,主函数中变量a被初始化为 ( C )。

C语言程序设计智慧树知到答案章节测试2023年共青科技职业学院

C语言程序设计智慧树知到答案章节测试2023年共青科技职业学院

第一章测试1.C语言是一种()。

A:汇编语言B:高级语言C:机器语言D:低级语言答案:B2.C语言程序总是从()。

A:源代码的第一行B:主函数C:源代码的第一个函数D:源代码的第一条可执行语句答案:B3.C语言程序是由()构成。

A:若干对象B:若干子程序C:若干过程D:一个主函数和若干函数答案:D4.在C语言程序中,主函数的位置()。

A:一定放在所有代码最后B:一定放在所有代码最前面C:一定放在所有代码中间D:可以放在代码的任何位置答案:D5.以下叙述正确的是()。

A:C语言程序不区分大小写B:C语言程序每个语句结束都要写分号C:C语言程序一行只能写一条语句D:C语言程序每行结束都要写分号答案:B6.要把高级语言编写的源程序转换为目标程序,需要使用( )。

A:编译程序B:诊断程序C:驱动程序D:编辑程序答案:A7.若有说明语句:int a,b,c,d=&c;,则能正确从键盘读入三个整数分别赋给变量 a、b、c 的语句是( )。

A:scanf(“%d%d%d”,&a,&b,&c);B:scanf(“%d%d%d”,a,b,c);C:scanf(“%d%d%d”,a,b,c)D:scanf(“%d%d%d”,&a,&b,c);答案:A8.以下选项中合法的用户标识符是( )。

A:datB:_2TestC:longD:3Dmax答案:B9.下列说法中正确的是( )。

A:C 程序书写时,不区分大小写字母B:C 程序书写时,一行只能写一个语句C:C 程序书写时每行必须有行号D:C 程序书写时,一个语句可分成几行书写答案:D10.英文小写字母 d 的 ASCII 码为 100,英文大写字母 D的 ASCII 码为( )。

A:50B:52C:66D:68答案:D第二章测试1.C语言中的注释()。

A:有的运行有的不运行B:其他情况C:不运行D:运行答案:C2.()是不正确的字符常量。

华工C++随堂练习(全部)

华工C++随堂练习(全部)

1.(单选题) 一个最简单的C++ 程序,可以只有一个()。

A.库函数B.自定义函数C.main 函数D.空函数答题: A. B. C. D. (已提交)参考答案:C问题解析:2.(单选题) 用C++ 语言编写的源程序要成为目标程序必须要经过()。

A.解释B.汇编C.编辑D.编译答题: A. B. C. D. (已提交)参考答案:D问题解析:3.(单选题) C++ 程序中的简单语句必须以()结束。

A.冒号B.分号C.空格D.花括号答题: A. B. C. D. (已提交)参考答案:B问题解析:4.(单选题) 程序中把表达式“a+0.5”写为“a*0.5”,是()错误。

A.编译B.连接C.运行D.逻辑答题: A. B. C. D. (已提交)参考答案:D问题解析:5.(单选题) 在下列选项中,全部都是C++ 关键字的选项为()。

A.while IF Static B.break char goC.sizeof case extern D.switch float integer答题: A. B. C. D. (已提交)参考答案:C问题解析:6.(单选题) 按C++标识符的语法规定,合法的标识符是()。

A._abc B.new C.πD."age"答题: A. B. C. D. (已提交)参考答案:A问题解析:7.(单选题) 下列正确的八进制整型常量表示是()。

A.0a0 B.015 C.080 D.0x10答题: A. B. C. D. (已提交)参考答案:B问题解析:8.(单选题) 下列错误的十六进制整型常量表示是()。

A.0x11 B.0xaf C.0xg D.0x1f答题: A. B. C. D. (已提交)参考答案:C问题解析:9.(单选题) 可以用于命名变量的标识符是()。

A.3x B.const C.name_2 D.答题: A. B. C. D. (已提交)参考答案:C问题解析:10.(单选题) 说明变量a是整形变量的正确语句是()。

C语言程序设计(西安理工大学)智慧树知到答案章节测试2023年

C语言程序设计(西安理工大学)智慧树知到答案章节测试2023年

第一章测试1.一个C程序可能出现的错误有。

A:语法错误B:运行错误C:其余选项都包括D:逻辑错误答案:C2.C程序中一般可以包含几个函数。

A:至少一个B:0个C:1个D:多个答案:A3.C语言属于程序设计语言的哪个类别?A:面向对象语言B:机器语言C:汇编语言D:高级语言答案:D4.没有语法错误了,程序就是正确的。

A:对B:错答案:B5.一个C程序中可以出现两个main函数。

A:错B:对答案:A第二章测试1.类型修饰符unsigned不能修饰()A:charB:long intC:intD:float答案:D2.16位的二进制数可以表示的整数的范围是()A:[-32767,32768]B:[-32768,32767]C:[-32767,32767]D:[-32768,32768]答案:B3.C语言中的实型数据包括()A:int和doubleB:int和floatC:float和charD:float和double答案:D4.以下不合法的字符常量是()A:‘A’B:’ ’C:‘ab’D:‘2’答案:C5.在以下各组标识符中,均是合法的C语言标识符是()A:A_4d,_student,xyz_abc,ifB:abc,A_4d,_student,xyz_abcC:auto,12-a,a_b,ab5.xD:abc,a_b,union,scan答案:B6.在C语言中,要求参加运算的数必须是整数的运算符是()A:*B:/C:++D:%答案:D7.若有定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为()A:doubleB:floatC:charD:int答案:A8.设有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()A:3.5B:2.75C:0.0D:2.5答案:D9.若有定义:double x=1,y;执行语句y=x+3/2;,则y的值是()A:2.5B:2.0C:1D:2答案:D10.设int a=1,b=2;以下选项中不正确的语句是()A:a*3=3B:a=a+bC:a+=3D:a/=1答案:A第三章测试1.算法描述可以有多种表达方法,下面()方法不可以描述算法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C.数组中的全部元素的值D.数组元素的个数
【答案】A
7.如果在一个函数中的复合语句中定义了一个变量,则该变量()。
A.只在该复合语句中有定义B.在该函数中有定义
C.在本程序范围内有定义D.为非法变量
【答案】C
【说明】因为该变量为局部变量。
8.下面程序的输出是()。
int i=2;
printf("%d%d%d",i*=2,++i,i++);
A.8,4,2B.8,4,3C.4,4,5D.4,5,6
【答案】A
9.已知一个函数的定义如下:
double fun(int x, double y)
{}
则该函数正确的函数原型声明为()。
A.double fun (int x,double y)B.fun (int x,double y)
C.double fun (int ,double );D.fun(x,y) ;
7.C语言变量的存储类别有,,和。
【答案】自动变量和寄存器变量静态外部变量静态局部变量外部变量
8.凡在函数中未指定存储类别的局部变量,其默认的存储类别为。
【答案】自动
9.在一个C程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为。
【答案】静态全局变量
10.变量被赋初值可以分为两个阶段:即和。
一、选择题
1.以下正确的函数定义是()。
A.double fun(int x, int y)B.double 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 ;
main()
{ float c,a=4.5;
c=B(a );
printf(】9.0
13.以下程序的输出结果是。
#include"stdio.h"
#define F(y) 3.84+y
#define PR(A. printf("%d",(int)(A.)
#define PRINT(A. PR(A.;putchar('\n')
【答案】定义时赋值运行中赋值
11.下面程序的运行结果是。
#define MAX(a,b)(a>b?a:b)+1
main()
{ int j=6,k=8,f;
printf("%d\n",MAX(j,k));}
【答案】9
12.下面程序的运行结果是。
#define A 4
#define B(x) A*x/2
C.凡是C源程序中行首以“#”标识的控制行都是预处理指令。
D.C语言的编译预处理就是对源程序进行初步的语法检查。
【答案】B
13.C语言提供的预处理功能包括条件编译,其基本形式是:
#XXX标识符
程序段1
#else
程序段2
#endif
这里XXX可以是()。
A.define或includeB.ifdef或include
main()
{ int x=2;
PRINT(F(3)*x);}
【答案】9
14.设有以下程序,为使之正确运行,请在横线中填入应包含的命令行。
main()
{ int x=2,y=3;
printf("%d\n",pow(x,y));}
【答案】#include <math.h>
【答案】嵌套调用递归
5.C语言变量按其作用域分为和;按其生存期分为和。
【答案】全局变量局部变量动态变量静态变量
6.已知函数定义:void dothat(int n,double x) {…},其函数声明的两种写法为
和。
【答案】dothat(int n,double x) {…} dothat(int,double) {…}
C.ifdef或ifndef或defineD.ifdef或ifndef
【答案】D
二、填空题
1.C语言函数返回类型的默认定义类型是。
【答案】整型
2.函数调用语句:fun((a,B.,(c,d,e))实参个数为。
【答案】2
3.函数的实参传递到形参有两种方式:和。
【答案】传值、传址
4.在一个函数内部调用另一个函数的调用方式称为。在一个函数内部直接或间接调用该函数成为函数的调用方式。
z=x+y; return z;}return z;}
【答案】D
【说明】其返回值与函数类型相符。
2.若调用一个函数,且此函数中没有return语句,则正确的说法是()。
A.该函数没有返回值B.该函数返回若干个系统默认值
C.能返回一个用户所希望的函数值D.返回一个不确定的值
【答案】A
3.以下不正确的说法是()。
【答案】B
【说明】地址传递是在实参和形参是数组的情况下进行的。
5.C语言规定,函数返回值的类型是决定于()。
A.return语句中的表达式类型B.调用该函数时的主调函数类型
C.调用该函数时由系统临时D.在定义函数时所指定的函数类型
【答案】D
6.若用数组名作为函数调用的实参,传递给形参的是()。
A.数组的首地址B.数组中第一个元素的值
A.实参可以是常量,变量或表达式
B.形参可以是常量,变量或表达式
C.实参可以为任意类型
D.如果形参和实参的类型不一致,则以形参类型为准
【答案】B
【说明】形参只能是变量或数组。
4.C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是()。
A.地址传递B.值传递
C.有实参传给形参,再由形参传给实参D.由用户指定传递方式
【答案】A
10.以下不正确的说法是()。
A.全局变量,静态变量的初值是在编译时指定的
B.静态变量如果没有指定初值,则其初值为0
C.局部变量如果没有指定初值,则其初值不确定
D.函数中的静态变量在函数每次调用时,都会重新设置初值
【答案】D
【说明】静态局部变量在其函数调用结束后仍然可以保留变量值。
11.以下任何情况下计算平方数时都不会引起二义性的宏定义是()。
A.#define POWER(x) x*xB.#define POWER(x) (x)*(x)
C.#define POWER(x) (x*x)D.#define POWER(x) ((x)*(x))
【答案】D
12.以下正确的叙述是()。
A.C语言的预处理功能是指完成宏替换和包含文件的调用。
B.C语言的预处理指令只能位于C源程序文件的首部。
相关文档
最新文档