int i,j,s=0; for(i=0;i<2;i++)
for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2) s=10*s+a[i][j]-‘0’; printf(“s=%d\\n”,s); } }
A. 6385 B. 69825 C. 63825 D. 693825
73、C语言程序由函数组成。它的( )。
A.主函数必须在其它函数之前,函数内可以嵌套定义函数 B.主函数可以在其它函数之后,函数内不可以嵌套定义函数 C.主函数必须在其它函数之前,函数内不可以嵌套定义函数 D.主函数必须在其它函数之后,函数内可以嵌套定义函数
74、一个C语言程序的基本组成单位是( )。 A.主程序 B.子程序 C.函数 D.过程
75、以下说法中正确的是( )。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义 C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
76、{
已知函数abc的定义为: void abc() {... ...}
则函数定义中void的含义是( )。 }
A.执行abc后,函数没有返回值 B.执行函数abc后,函数不再返回
C.执行函数abc后,可以返回任意类型 D.以上三个答案全是错误的
16
77、在以下对C语言的描述中,正确的是( )。
A.在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参 B.C语言函数既可以嵌套定义又可以递归调用 C.函数必须有返回值,否则不能使用函数
D.C语言程序中有定义关系的所有函数都必须放在同一源文件中
78、以下叙述中错误的是( )。
A.在C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值 B.在C语言中,在定义函数时,实参和对应的形参在类型上只需赋值兼容 C.在C语言中,外部变量的隐含类别是自动存储类别
D.在C语言中,函数形参的存储类型是自动(auto)类型的变量
79、说明语句“static int i=10;”中“i=10”的含义是( )。
A.说明了一个静态变量 B.与“auto i=10;”在功能上等价 C.将整型变量i初始化为10 D.将变量i赋值为10
80、C语言中的函数( )。
A.可以嵌套定义 B.不可以嵌套调用
C.可以嵌套调用,但不能递归调用 D.嵌套调用和递归调用均可
81、C语言中函数返回值的类型是由( )决定的。
A. return语句中的表达式类型 B. 调用该函数的主调函数类型
C. 调用函数时临时 D. 定义函数时所指定的函数类型
82、C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是(A. 地址传递 B. 值传递
C. 由实参传给形参,并由形参传回给实参 D. 由用户指定传递方式
83、在下列结论中,只有一个是正确的,它是( )。
A. 递归函数中的形式参数是自动变量
17
。 )
B. 递归函数中的形式参数是外部变量 C. 递归函数中的形式参数是静态变量
D. 递归函数中的形式参数可以根据需要自己定义存储类别
84、在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,
则( )。
A. 称为函数的直接递归 B. 称为函数的间接递归
C. 称为函数的递归定义 D. C语言中不允许这样的递归形式
85、已知:int *p,a;则语句\;\中的运算符\的含义是( )。
A.位与运算 B.逻辑与运算 C.取指针内容 D.取变量地址
86、已知:int a,*p=&a; 则下列函数调用中错误的是( )。
A.scanf(\B.scanf(\C.printf(\D.printf(\;
87、main(argc,argv)中形式参数argv的正确说明形式应当为( )。 A.char *argv[ ] B.char argv[ ][ ] C.char argv[ ] D.char *argv
88、说明语句\的含义是( )。
A. p是一个指向一维数组的指针变量 B. 是一个指针变量,指向一个整型数据
C. 是一个指向函数的指针,该函数的返回值是一个整型 D. 以上都不对
89、设有说明int(*ptr)[M];其中的标识符ptr是( )。 A. M个指向整型变量的指针
B. 指向M个整型变量的函数指针
C. 一个指向有M个整型元素的一维数组的指针
D. 具有M个指针元素的一维指针数组,每个元素都只能指向整型变量
18
90、已知:double *p[6]; 它的含义是( )。
A. p是指向double型变量的指针 B.p是double型数组
C.p是指针数组 D.p是数组指针
91、已知:char s[10],*p=s,则在下列语句中,错误的语句是( )。
A.p=s+5; B.s=p+s; C.s[2]=p[4]; D.*p=s[0];
92、下列对字符串的定义中错误的是( )。
A. char str[7]=\B. char str[ ]=\
C. char *str=\
D. char str[ ]={'F','O','R','T','R','A','N','\\0'}
93、已知函数说明语句:void *f(); 则它的含义是( )。 A. 函数f的返回值是一个通用型的指针 B. 函数f的返回值可以是任意的数据类型 C. 函数f无返回值 D. 指针f指向一个函数,该函数无返回值
94、已知:char **s; 正确的语句是( )。 A. s=\; B. *s=\C. **s=\D. *s='A’;
95、已知:int a[4][3]={1,2,3,4,5,6,7,8,9,10}; int(*ptr)[3]=a,*p=a[0]; 则以下能够正确表示数组元素a[1][2]的表达式是( )。 A. *((ptr+1)[2]) B. *(*(p+5)) C. (*ptr+1)=2 D. *(*(a+1)+2)
96、下面的四个运算符中,优先级最低的是( )。
A. ( ) B. .
19
C. -> D. ++
97、{
已知: struct
{int i; char c; float a; }test;
则sizeof(test)的值是( )。 }
A. 4 B. 5 C. 6 D. 7
98、以下对C语言中联合类型数据的正确叙述是( )。
A.一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员 B.一个联合变量中可以同时存放其所有成员 C. 一个联合变量中不能同时存放其所有成员
D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中
99、{
已知函数原型为:
struct tree *f(int x1,int x2,struct tree x3,struct tree *x4) 其中tree为已定义过的结构,且有下列变量定义:
struct tree pt,*p;int i; 请选择正确的的函数调用语句( )。 }
A.&pt=f(10,&i,pt,p); B.p=f(i++,(int *)p,pt,&pt);
C. p=f(i+1,&(i+2),*p,p); D. f(i+1,&i,p,p);
100、当说明一个结构变量时系统分配给它的内存是( )。
A. 各成员所需内存量的总和 B. 结构中第一个成员所需内存量
C. 成员中占内存量最大者所需内存量 D. 结构中最后一个成员所需内存量
101、C语言结构类型变量在程序执行期间( )。
A. 所有成员一直驻留在内存中 B. 只有一个成员驻留在内存中
C. 部分成员驻留在内存中
20