C语言复习题一

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

13.有一个函数的定义:func(float a) { …… }则该函数的返回 13.有一个函数的定义: 有一个函数的定义 值的类型是( 值的类型是( B ) A.char型 B.int型 char型 int型 C.double型 D.void型 double型 void型 14.以下正确的描述是( B ),在C语言程序中 14.以下正确的描述是( ),在 以下正确的描述是 A.函数的定义可以嵌套,但函数的调用不可以嵌套 函数的定义可以嵌套, B.函数的定义不可嵌套,但函数的调用可以嵌套 函数的定义不可嵌套, C.函数的定义和函数的调用均不可以嵌套 D.函数的定义和调用均可以嵌套 15.在C语言中,函数调用不可以( D ) 15.在 语言中,函数调用不可以( A.出现在执行语句中 B.出现在一个表达式中 C.做为一个函数的实参 D.做为一个函数的形参
23.若有如下定义:struct data { int i;char ch;double f;} 23.若有如下定义: i; ch; f; 若有如下定义 b; 则结构体变量b占用内存的字节数是( ) 则结构体变量b占用内存的字节数是( A.1 B.2 C.8 D.11
24.在说明一个共用体变量时,系统分配给它的存储空间是 24.在说明一个共用体变量时, 在说明一个共用体变量时 () A.该共用体中第一个成员所需存储空间 B.该共用体中占用最大存储空间的成员所需存储空间 C.该共用体中最后一个成员所需存储空间 D.该共用体中所有成员所需存储空间的总和 25.作为函数fopen中第一个参数的正确格式是( ) 25.作为函数 作为函数fopen中第一个参数的正确格式是 中第一个参数的正确格式是( A.”c:user\text.txt” c:user\text.txt” B.”c:\rser\text.txt” c:\rser\text.txt” C.”\user\text.txt” user\text.txt” D.”c:\\user\\text.txt” c:\ user\ text.txt”
运行结果为: 运行结果为:
25
程序七: 程序七:
int fun(int m,int *p) , { int k; ; m=3; *p=7; k=m+*p; ; ; ; return k; ; } main() { int a=5,b=3,c=2; , , ; c=fun(a,&b); , ; printf(“%d,%d”,a,b); , , , ; } 运行结果为: 运行结果为: 5,7
C语言复习题
非计算机专业类 2005~2006学年 2005~2006学年
一.选择题:(50分,共25题,每题2分) 25题 每题2 选择题: 50分
1. C语言中的标识符只能由字母、数字和下划线组成,且第 C语言中的标识符只能由字母 数字和下划线组成, 语言中的标识符只能由字母、 一个字符( 一个字符( C) A.必须为字母 B.必须为下划线 C.必须为字母或下划线 D.可以是字母、数字和 可以是字母、 下划线任意一种 2. C语言中基本数据类型包括(B) C语言中基本数据类型包括 语言中基本数据类型包括( A.整型、实型、逻辑型 B.整型、实型、字符型 整型、实型、 整型、实型、 C.整型、字符型、逻辑型 D.整型、实型、逻辑型、实型 整型、字符型、 整型、实型、逻辑型、
程序八: 程序八:
int fun(char *str) { int m=0; ; while(*str) { str++;m++;} ; ; return m; ; } main() { int n;char a[ ]=”program”; ; ; n=fun(a); ; printf(“%d”,n); , ; }
16.变量的指针,其含义是指该变量的( B ) 16.变量的指针,其含义是指该变量的( 变量的指针 A.值 B.地址 C.名 D.占用内存大小 17.若有定义:int a[5];则a数组中首元素地址可以表示为( C ) 17.若有定义 若有定义:int a[5]; 数组中首元素地址可以表示为( A.&a B.a+1 C. C.a D. D.&a[1] 18.若有以下定义int a[5],*p=a;则不能正确表示a[2]元素的 18.若有以下定义 a[5], p=a;则不能正确表示a[2]元素的 若有以下定义int 是( B) A.*&a[2] B.a+2 C.*(p+2) D.*(a+2)
运行结果为: 运行结果为:
7
:(18 每题6 三.编写程序:(18分,共3题,每题6分) 编写程序:( 分
1.编写程序计算1+2+3+…100。 编写程序计算1+2+3+…100。 2.编写程序实现将一个数组中的值按逆序重新存放。例 编写程序实现将一个数组中的值按逆序重新存放。 如,原来顺序为8,6,5,4,1,要求改为1,4,5,6, 原来顺序为8 要求改为1 8。 3.编写函数实现对数组的前n个正整数进行排序(升序)。 编写函数实现对数组的前n个正整数进行排序(升序)。
15
程序五: 程序五:
main() { int a,b,*p,*q; , , , ; a=2; b=10; ; ; p=&a; q=&b; ; ; *p=10; *q=2; ; ; printf("%d,%d",a,b); , , , ; }
运行结果为: 运行结果为:
10,2
程序六: 程序六:
main() { int a[ ]={1,3,5,7,9}; , , , , ; int s,k,*p; , , ; s=0; p=a; ; ; for(k=0;k<5;k++) s+=*(p+k); ; ; ; printf("%d",s); , ; }
二.阅读程序,写出运行结果:(32分,共8题,每 题4分) 阅读程序,写出运行结果: 32分 程序一: 程序一:
main() { int x=2,y=-1,z=2; , , ; if(x<y) if(y<0) z=0; else z=1; ; ; printf(“%d”,z); , ; }
运行Fra Baidu bibliotek果为: 运行结果为:
2
程序二: 程序二:
main ( ) { int n=4; ; while (n - -); ; printf(“%d”,n); , ; }
运行结果为: 运行结果为:
-1
程序三: 程序三:
main() { int k,n=0; , ; int a[10]={1,2,3,4,5,6,7,8,9,10}; ; for( k = 0;k<10;k++) ; ; n = n + a[k]; ; printf(“%d”,n); , ; }
运行结果为: 运行结果为:
55
程序四: 程序四:
main() { int k,s=0; , ; int a[3][3]={1,2,3,4,5,6,7,8,9}; ; for(k=0;k<=2;k++) ; ; s=s+a[k][k]; ; printf("%d",s); , ; }
运行结果为: 运行结果为:
19.若有定义int (*p)[4],则标识符p是一个( ) 19.若有定义 若有定义int (*p)[4],则标识符p是一个( A.指向整型变量的指针变量 B.指向函数的指针变量 C.指向由四个整型元素组成的一维数组的指针变量 D.指针数组名,有四个元素,每个元素均为一个指向整型 指针数组名,有四个元素, 变量的指针 20.若有说明:char 20.若有说明: 若有说明 *language[]={“fortran” *language[]={“fortran”,”basic”,”pascal”,”java” basic” pascal” java” language[2]的值是 的值是( ,”c”}; 则language[2]的值是( ) A.字符 B.地址 C.字符串 D.不定值
10.在C语言中,引用数组元素时,其数组下标的数据类型是 10.在 语言中,引用数组元素时, ( A) A.整型常量或表达式 B.浮点型常量或表达式 C.字符串常量或表达式 D.任何类型的表达式 11.在C语言中定义一个一维数组时,其数组长度( C) 11.在 语言中定义一个一维数组时,其数组长度( A.可以是整型变量 B.必须是整型变量 C.可以是整型符号常量 D.必须是整型符号常量 12.若有定义:char str[ ]=“student”;则字符数组str的长度为 12.若有定义: ]=“student” 则字符数组str的长度为 若有定义 (D) A.2 B. B.4 C.7 D.8
5.设有:int a=1,b=2,c=3,d=4,m=2,n=2;求解表达式 5.设有: a=1,b=2,c=3,d=4,m=2,n=2; 设有 (m=a>b)&&(n=c>d)后 (m=a>b)&&(n=c>d)后m和n值分别为( B ) 值分别为( A.0和0 B.0和2 C.2和0 D.2和2 6.在C语言中,能正确表示数学关系“10<a<20”的表达式为 6.在 语言中,能正确表示数学关系“10<a<20” (C ) A.a>10 & a<20 B.a>10 | a<20 C.a>10 && a<20 D.a>10 | | a<20 7.执行语句m=5;n=3;n=(!m)?m/n:m%n;后n的值为( C) 7.执行语句 执行语句m=5;n=3;n=(!m)?m/n:m%n; 的值为( A.0 B.1 C.2 D.3
21.若有函数max(a,b)并且已使函数指针变量p指向max,当 21.若有函数 若有函数max(a,b)并且已使函数指针变量 指向max, 并且已使函数指针变量p 调用该函数时正确的调用方法是( 调用该函数时正确的调用方法是( ) A.p(a,b) p(a, B.*p(a,b) p(a, C.(*p)(a,b) (*p)(a, D.&p(a, D.&p(a,b)
8.以下关于switch语句和break语句的描述中,只有( C)是正 8.以下关于 以下关于switch语句和 语句和break语句的描述中 只有( 语句的描述中, 确的。 确的。 A. 在switch语句中必须使用break语句 switch语句中必须使用 语句中必须使用break语句 B.break语句只能用于switch语句中 break语句只能用于 语句只能用于switch语句中 C.在switch语句中,可根据需要用或不用break语句 switch语句中 可根据需要用或不用break语句 语句中, D.break语句是switch语句必不可少的一部分 break语句是 语句是switch语句必不可少的一部分 9.设有程序段 int k=10;while (k=0) k=k-1; 则下面描述中正 9.设有程序段 k=10; k=k确的是( D) 确的是( A.while循环执行10次 while循环执行 次 循环执行10 C.循环体语句执行一次 B.循环是死循环 D.循环体语句一次也不执行
3. 若有定义double x=1,y;则运算表达式y=x+3/2后,y的 若有定义double x=1, 则运算表达式y=x+3/2后 值是( B ) 值是( A.1.0 B.2.0 C.2.5 D.3.0
4.设有:int x=3,y=4,z=5;则下面表达式中值为0的是 4.设有: x=3,y=4,z=5;则下面表达式中值为0 设有 ( D) A.x && y C.x || y+z&&!y B. B.x <= y D.!( x<y ) && (!z || 1)
22.若有以下说明和语句:struct student {int age;int 22.若有以下说明和语句: age; 若有以下说明和语句 num;}std, num;}std,*p;p=&std; p=&std; 则以下对结构体变量std中成员 的引用方式不正确的是 则以下对结构体变量std中成员age的引用方式不正确的是 中成员age () A.std.age B.std->age stdC.p->age C. D.(*p).age
相关文档
最新文档