赞
踩
单选题(每题1分,共30分)
1.下列有关 C语言的叙述中错误的就是( )
A. C 语句必须以分号结束
B. 任何一个 C程序中有且只有一个主函数
C. 复合语句在语法上可被瞧作一条语句
D. C 程序中对数据的任何操作都可由运算符实现
2.以下不能定义为用户标识符的就是( )
A. MAIN
B. _HJ
C. 2ong
D. LINE1
3.以下能正确定义一维数组的就是( )
A. int a[5]={0,1,2,3,4,5};
B. int a[5]= ”012345”;
C. char a[ ]= ”012345”;
D. char a[5]={0,1,2,3,4,5};
4.执行下列程序段后输出的结果就是( )
x = 9;
while (x > 7)
{ printf( “*”); x - -; }
A. ****
B. ***
C. **
D. *
5.设 char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句 printf( “%d”, strlen(strcpy(str1, str2))); 后的输出结果就是( )
A. 9
B. 8
C. 5
D. 3
6.若用数组名作为函数调用的实参 , 则传递给形参的就是( )
A. 数组的首地址
B. 数组第一个元素的值
C. 数组中全部元素的值
D. 数组元素的个数
7.在 C程序中 , 若未在函数定义时说明函数类型 , 则函数默认的类型为( )
A. void
B. double
C. int
D. char
8.下面不能正确进行字符串赋值操作的语句就是( )
A. char s[5]={"ABCD"};
B. char s[5]; s="ABCD";
C. char *s;s="ABCDEF";
D. char *s="ABCD";
9.设有说明 int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为 3 的就是( )
A. ++p
B. ++(*p)
C. *(++p)
D. *(p+=2)
10.下面程序的输出结果就是( )
int m=13;
int fun( int x, int y)
{ int m=3; return( x*y-m); }
main( )
{ int a=7,b=5;
printf( “%d n”, fun(a,b)/m); }
A. 1
B. 2
C. 3
D. 10
11.以下 4 组用户定义标识符中,全部合法的一组是( )
A. )_total clu_1 sum
B. if -max turb
C. txt REAL 3COM
D. int k_2 _001
12.以下程序的输出结果是( )
#include
main( ){
int a = 1, b = 2, c = 3;
printf( “%d”, c>b>a);
}
A. 2
B. 1
C. 0
D. 3
13.以下选项中正确的叙述是( )
A. 在 C 语言中, main 函数必须位于文件的开头
B. C 语言每行中只能写一条语句
C. C 语言本身没有输入、输出语句
D. 对一个 C语言进行编译预处理时,可检查宏定义的语法错误
14.设有定义: int a,*pa=&a; 以下 scanf 语句中能正确为变量 a 读入数据的是( )
A. scanf("%d",pa);
B. scanf("%d",a);
C. scanf("%d",&pa);
D. scanf("%d",*pa);
15.若有以下程序段,
int c1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后, c3 中的值是( )
A. 0
B. 0.5
C. 1
D. 2
16.能正确表示逻辑关系:“ a≥=10 或 a≤0”的 C语言表达式是( )
A. a>=10 or a<=0
B. a>=0|a<=10
C. a>=10 &&a<=0
D. a>=10 ‖a<=0
17.执行下面的程序时,将 1、2、3、4 分别赋给 a、b、c、d,正确的输入是( )
main( )
{
int a,b,c,d;
scanf( “%d,%d,%d%d”,&a,&b,&c,&d);
…
}
A. 1 2 3 4
B. 1 2 3 ,4
C. 1 ,2,3,4
D. 1 ,2,3 4
18.有以下程序段
main( )
{
int k=0;
while(k=1) k++;
}
则 while 循环执行的次数是( ) 赋值语句,只要不是 0,一直循环( )
A. 无限次
B. 有语法错,不能执行
C. 一次也不执行
D. 执行 1 次
19.以下程序的输出结果是( )
#include
main( )
{
int a = 5, b = 4, c = 6, d;
printf( “%d”,d=a>b?(a>c?a:c): b);
}
A. 5
B. 4
C. 6
D. 不确定
20.下面是对数组 a 的初始化,其中 不正确 的是( )
A. a[5] ={"ABCD"}
B. a[5] ={'A' ,'B' ,'C' ,'D'}
C. a[5] =""
D. a[5] ="ABCDE"//a[6]= "ABCDE" 因为会自动加一个 \0
21.以下不是 C 语言的特点的是( )
A. C 语言简洁、紧凑
B. 能够编制出功能复杂的程序
C. C 语言可以直接对硬件进行操作
D. C 语言移植性好
22.以下不正确的 C 语言标识符是( )
A. ABC
B. abc
C. a_bc
D. ab.c
23.一个 C 语言程序是由( )
A. 一个主程序和若干子程序组成
B. 函数组成
C. 若干过程组成
D. 若干子程序组成
24.一个算法应该具有 “确定性 ”等 5 个特性,对另外 4 个特性的描述中错误的是( )
A. 有零个或多个输入
B. 有零个或多个输出
C. 有穷性
D. 可行性
25.设变量 a 是整型, f 是实型, i 是双精度型,则表达式 10+‘a’+i*f 值的数据类型为( )
A. int
B. float
C. double
D. 不确定
26.在 C 语言中, char型数据在内存中的存储形式是( )
A. 补码
B. 反码
C. 源码
D. ASCII 码
27.有如下程序,输入数据: 12345M678后(表示回车), x 的值是( )
正在上传…
取消
A. 12345
B. 123
C. 45
D. 345
28.若有以下定义 int a,b; float x,则正确的赋值语句是( )
A. a=1,b=2
B. b++;
C. a=b=5
D. b=int(x);
ABCD 纠错 标记
29.以下程序的执行结果是( )
正在上传…
取消
A. 11,10
B. 9,10
C. 11,9
D. 10,9
ABCD 纠错 标记
30.巳知字母 A 的 ASCII 码是 65,以下程序的执行结果是( )
正在上传…
取消
A. A,Y
B. 65,65
C. 65,90
D. 65,89
阅读程序题(每题4分,共20)
1.
#include <stdio.h>
main()_
{ char grade=’C’;
switch(grade)
{
case ‘A’: printf(“90-100\n”);
case ‘B’: printf(“80-90\n”);
case ‘C’: printf(“70-80\n”);
case ‘D’: printf(“60-70\n”); break;
case ‘E’: printf(“<60\n”);
default : printf(“error!\n”);
}
}
运行结果为:_______________
2.
#include <stdio.h>
main()
{ int y=9;
for(;y>0;y- -)
if(y%3==0)
{ printf(%d”,- -y);
}
}
运行结果为_______________
3.
#include <stdio.h>
main()
{ int i,sum=0; i=1;
do{ sum=sum+i; i++; }while(i<=10);
printf(“%d”,sum);
}
运行结果为:_______________
4.
#include <stdio.h>
main( )
{ int i,k,a[10],p[3];
k=5;
for(i=0;i<10;i++)
a[i]=i;
for(i=0;i<3;i++)
p[i]=a[i*(i+1)];
for(i=0;i<3;i++)
k+=p[i]*2;
printf("%d\n",k);
}
运行结果为:_______________
5.
#include <stdio.h>
int m[3][3]={{1},{2},{3}};
int n[3][3]={1,2 ,3};
main( )
{ printf(“%d,”, m[1][0]+n[0][0]);
printf(“%d\n”,m[0][1]+n[1][0]);
}
运行结果为:_______________
判断题(每题1分,共15分)
1.若i =3,则printf("%d",-i++);输出的值为 -3
2.表达式 (j=3, j++) 的值是3
3.C语言中只能逐个引用数组元素而可以一次引用整个数组
4.参加位运算的数据只能是整型的数据
5.若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为100
6.若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"0"
7.若有 # define S(a,b) a*b 则语句 area=S(3,2); area的值为5
8.若有宏定义:#define S(a,b) t=a;a=b;b=t虽然变量t没定义,宏定义中已经定义,可直接使用
9.#define 和printf 都是C语句
10.关系运算符<= 与 == 的优先级不相同
11.若有说明int c;则while(c=getchar());不是正确的C语句
12.若有int ⅰ=10, j=0;则执行完语句if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为10
13.若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值等同"9"
14.while和do…while循环不论什么条件下它们的结果都是不相同的.
15.char c[10]="Very Good"; 是一个合法的为字符串数组赋值的语句
填空题(每题2分,共30分)
1.表达式3 + 1 / 2的计算结果是_____
2.请写出以下程序的输出结果_____
main()
{ int a = 100;
if( a > 100) printf(“%d\n”, a > 100);
else printf(“%d\n”, a < 100);
}
3.表达式(float)((int)(5/2)+2.5)的值是_____.
4.阅读下面程序,程序执行后的输出结果为_____
#include "stdio.h"
main()
{
char a,b;
for(a=′0′,b=′9′;a<b;a++,b--)
printf("%c%c",a,b);
printf("\n");
}
5.以下程序段的输出结果是_____
int i = 5, sum = 1;
do
{ sum += i++;
} while( i < 5);
printf(“%d\n”, sum);
6.以下程序段的输出结果是_____、_____、_____、_____、_____
int x = 0177;
printf(“x = %3d, x = %6d, x = %6o, x = %6x, x = %6u\n”, x, x, x, x, x);
7.以下程序的输出结果是_____
main()
{ int a = 8, b = 9, c = 10;
c -= ++b;
b *= a + c;
{ int b = 5, c = 12;
c /= b * 2;
a -= c;
printf(“%d, %d, %d, ”, a, b, c );
a += --c;
}
printf(“%d, %d, %d\n”, a, b, c);
}
8.当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小十进制整数是_____,它们的二进制形式是_____
9.结构化程序由_____、_____、_____三种基本结构组成
10.阅读下面程序,程序执行后的输出结果是_____
#include "stdio.h"
main()
{
int x,y,z;
x = 5; y = 2; z = 3;
if(x>y)
if(x>z)printf("%d",x);
else printf("%d",y);
printf("%d\n",z);
}
11.若x为double型变量,请写出运算x = 3.2, ++x后表达式的值_____和变量的值_____
12.若有定义:int a=8,b=5,c 执行语句c=a/b+0.4后,c的值为_____
13.当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____._
14.若从键盘输入58,则以下程序输出的结果是_____
main()
{
int a;
scanf("%d",&a);
if(a<50)printf("%d",a);
if(a<40)printf("%d",a);
if(a<30)printf("%d",a);
}
15.以下程序的输出结果是_____
main(){
int a=0;
a+=(a=8);
printf("%d\n",a); }
编程题(10,10,15,20)
1、键盘输入2个加数,再输入答案,如果正确,显示“right”,否则显示“error”
2.从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用该函数)
3、从键盘输入你和你朋友的年龄,编成判断谁的年龄最大,并打印最大者的年龄。
4. 编程实现如下功能:从键盘输入一行字符,统计其中大写英文字符,小写英文字符和其他字符的个数。
答案:
综合练习五
一、单选题
1-5 DCCCD 6-10ACCCB
11-15ACCAB 16-20 DDACD
24-25 BDBBC 26-30 DBBAD
二、阅读程序题
1、 70-80
60-70
2、852
3、55
4、21
5、3,0
三、判断题
1-5 对对错对对
6-10 错错对错对
11-15 错对对对错
四、填空题
1、3
2、0
3、4.500000
4、0918273645
5、6
6、空 1:x = 127
空 2:x =127
空 3:x =177
空 4:x =7f
空 5:x =127
7、7, 5, 1, 7, 80, 0
8、空 1:65535
空 2:-32768
空 3:1111 1111 1111 1111,1000 0000 0000 0000
9、
空 1:顺序
空 2:条件分支 【或】 选择
空 3:循环
10、53
11、4.2 4.2
12、1
13、65535
无输出
15、16
编程题
1、
#include “stdio.h”
main( )
{int a,b,c;
printf(“please input a and b\n”);
scanf (%d,%d”,&a,&b);
printf(“please input the answer for a+b\n”);
scanf (%d”,&c);
if (c==a+b)
printf(“right\n”);
else
printf(“error\n”);
}
2.
main()
{float max(float x,float y);
float a,b,m;
scanf("%f,%f",&a,&b);
m=max(a,b);
printf("Max is %f\n",m);
}
float max(float x,float y)
{undefined
float temp;
if (x<y)
{temp=x;
x=y;
y=temp;
}
return(x);
}
3、
#include <stdio.h>
main()
{ int yourAge, hisAge;
printf("Please enter your age:");
scanf("%d", &yourAge); /*输入你的年龄yourAge*/
printf("Please enter your friend's age:");
scanf("%d", &hisAge); /*输入你朋友的年龄hisAge*/
if (yourAge >= hisAge)
{undefined
printf("You are older! Your age is = %d\n", yourAge);
}
if (hisAge > yourAge)
{undefined
printf("Your friend is older! HisAge age is = %d\n", hisAge);
}}
4.
#include <stdio.h>
#include <string.h>
#define ARR_SIZE 80
main()
{undefined
char str[ARR_SIZE];
int len, i, letter = 0, digit = 0, space = 0, others = 0;
printf("Please input a string:");
gets(str);
len = strlen(str);
for (i=0; i<len; i++)
{ if (str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z')
letter ++; /*统计英文字符*/
else if (str[i] >= '0' && str[i] <= '9' )
digit ++; /*统计数字字符*/
else
others ++; /*统计其它字符的个数*/
}
printf("English character: %d\n", letter);
printf("digit character: %d\n", digit);
printf("other character: %d\n", others);
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。