当前位置:首页 > C语言程序设计试题6
C语言程序设计试题
试卷类别 D
适用专业、年级、班
一、 选择(每小题2分,共2×20=40分) 1.一个C语言程序是由( )
A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成 2.下列标识符中,合法的标识符是( )
A)-abc1 B)1abc C)_abc1 D)for
3.执行下列语句int a=3,b;b=-(--a);后a,b的值分别是( ) A) 2和-2 B) 2和-3 C) 3 和-2 D) 3 和-3
4.判断char型变量ch是否为大写字母的正确表达式是( ) A)'A'<=CH<='Z' B) (CH>='A')& (CH<='Z') C)(CH>='A')&& (CH<='Z') D) ('A'<=ch)AND('Z'>=ch)
5.设int a=12,则执行完语句a+=a-=a*a后,a的值是( ) A) 552 B) 264 C) 144 D) -264
6.逻辑运算符两侧运算对象的数据类型( )
A)只能是0或1 B)只能是0或非0正数 C)只能是整型或字符型数据 D)可以是任何类型的数据 7.以下所列的C语言常量中,错误的是( )
A) 0xFF B) 1.2e0.5 C) 1.0/2.0 D) '\\72' 8.执行语句for(i=1;i++<4; ); 后变量i的值是( ) A) 3 B) 4 C) 5 D) 不定
9.要使下面程序段输出10个整数,则在下划线处填入正确的数是( ) for(i=0;i<=____ ;) printf(\
A) 9 B) 10 C) 18 D) 20 10.若有说明:char s2[]=\则s2中( ) A)包含3个字符 B)包含2个字符 C)包含1个字符 D)无定值,说明不合
11.有数组定义: char array []=\则数组 array所占的空间为( ) A)4个字节 B)5个字节 C)6个字节 D) 7个字节 12. 设有以下定义 #define d 2
int a=0; double b=1.25; char c='A'; 则下面语句中错误的是( )
A)a++ B)b++ C)c++ D)d++
13.以下程序中,for循环体执行的次数是( ) #define N 2
#define M 1+ N #define K M+1*M/2 void main(void) { int i;
for( i = 1;i < K; i++) { ........ } .......
1
2
}
A)4 B)5 C)3 D)6
14. A)4 B)3 C)2 D) 以下函数调用语句中,函数f1(x,10,f2(yf1参数的个数为( ) 15.编译出错,10));(注:f2有返回值) A)'x' && 'y' 设置变量说明:int x = 3, y = 4, z = 5,
则下面表达式值为假的是( ) C) x + y + z && y - z B)x <= y
16. D) !((x < y) && z) #include
{ if (a = b + c)int a = 5, b = 0, c = 0;
{ printf(\ * *\\n\ } }
{ else
printf(\ $ $\\n\ } 上面的程序( )
A)C)17.输出有语法错不能通过编译 * * * D)输出 B)$ 可以通过编译但不能通过连接 $ $
A)gets(a有两个字符数组B)scanf(\,b);
a,b,则以下正确的输入语句是( ) C)scanf(\,D)gets(\
,a&a,,b); &b); 18.A)a, pt B)&a, *pt 有语句 int *pt, a = 4;和pt = &a;下面均代表地址的一组选项是( ) 19. 以下程序调用C)&pt, *pt, &a D)&a, pt
scanf函数给变量a输入值的方法是错误的,错误原因是( { void main(void) int *p, *q, a, b; p = &a;
printf(\ A)*p scanf(\a :\B)*p表示的是指针变量…….. }
C)*p表示的是变量a的值,而不是变量p的地址;
a的地址 D)*p表示的是指针变量20.只能用来说明pp的值
A) void Test(int nA = 10,int nB); 以下函数声明正确的是是一个指针变量( ) B) void Test(int,int);
C) void Test(int nA,int nA); D)以上全错
二、填空(每小题2分,共2×10=20分) 1.2.设按内存排列顺序(k=a=5,b=3,a*b),, 数组则表达式的值为(char a[2]中的所有元素是 )
a[1]和( )
3
) 3. 求字符串长度的库函数是( ),只写函数名即可 4. 设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为( )
5. 已知 i=5, 写出语句 a=(i>5)?0:1; 执行后整型变量 a 的值是( ) 6. 若 char w,int x,float y,double z;则表达式w*x+z-y的结果为( )类型. 7. 执行语句char s[3]=\的值是( ) 8. C语言中一个函数由函数首部和( )两部分组成. 9. 将函数funl 的入口地址赋给指针变量p的语句是( )
10. C语言中,数组名是一个不可变的( )量,不能对它进行加减和赋值运算. 三、判断题(每小题1分,共1×10=10分) 1.表达式语句和表达式没有什么区别( )
2.条件运算符?和:是一对运算符,不能分开单独使用( ) 3.函数strcmp从头至尾顺序地将其对应字符比较,遇到两个字符不等时,两个字符相减得到一个int型值,两个字符串完全相同时,则返回0 ( ) 4.函数的实参可以是常量,变量或表达式( )
5.C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。( ) 6.在C语言中,逗号既可以作为运算符,也可以作为分隔符。( ) 7.条件表达式不能取代一般if的语句。( )
8.break 则是结束整个循环过程,不再判断执行循环的条件是否成立。( ) 9.如果函数定义出现在函数调用之前,可以不必加函数原型声明( ) 10.C语言的三种循环不可以互相嵌套。( ) 四、完善程序题(每空3分,共3×5=15分)
1. 下面程序的功能是计算1至50中所有能被7整除的数之和, 请为程序填空 #include
int i, sum; 【1】 ; for(i=1;i<=50;i++)
if( 【2】 ) sum+=i; printf(\}
2.函数fun的功能是:根据以下公式求p的值,结果由函数值返回。m与n为两个正数且要求m>n。 #include
float fun (int m, int n) {int i;
double p=1.0;
for(i=1;i<=m;i++)【3】 ; for(i=1;i<=n;i++)【4】; for(i=1;i<=m-n;i++)p=p/i; return p; }
main ()
{ printf (\\n\(12,8));}
3.下面程序的功能是输出数组s中最大元素的下标,请填空。
4
共分享92篇相关文档