1. 模块化程序设计的设计原则是_____和_____。自顶向下 逐步求精
2. C 程序中的main 称 _____,它可以出现在程序的_____位置。
主函数 任意 3.
结构化程序由_____、_____、_____三种基本结构组成。顺序 选择 循环 4.
组成C 程序的基本单位是 _____,其组成部分包括_____和_____。函数 函数
首部 函数体 5. 由“/*”和“*/”括起来的内容称为_____,它的作用是_____。
提高程序的可读性 6. 描述算法的常用方法有:_____。
自然语言 流程图 N-S 图 伪代码和计算机语言
7. 以下程序的输出结果是_____。 main ()
{ int a=0;
a+=(a=8);
printf ("%d \n",a ); }
16
8. C 程序中定义的变量,代表内存中的一组_____。存储单元
9. 对以下数学式,写出三个等价的C 语言表达式是
_____、_____、_____ c b a
a/b/c
a/c/b
a/(b*c) 10. 表达式s = 10应当读做“_____”。将10赋给变量s
11. 计算机中内存储器的最小单位称为_____ ,其中能容纳的数是
_____个 位 0和1 12. 若k 为int 型变量且赋值11,请写出运算k++后表达式的值_____和变量的值_____。
11 12
13. 通常一个字节包含_____个二进制位。在一个字节中能存放的最大十进制整数是
_____,
它的二进制数的形式是_____;最小十进制整数是_____,它的二进制形式是_____。 8 255 1111 1111 -128 1000 0000
14. 若x为double型变量,请写出运算x = 3.2, ++x后表达式的值_____和变量的值_____。
4.2 4.2
15. 当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小
十进制整数是_____,它们的二进制形式是_____。65535 -32768 1111 1111 1111 1111,1000
0000 0000 0000
16.表达式3.5 + 1 / 2的计算结果是_____。 3.5
17. 把a1、a2定义成单精度实型变量,并赋初值1的说明语句是_____。float a1 = 1.0, a2
= 1.0;
18.函数体的前面是_____部分,其后面是_____部分。函数首部函数体
在C语言程序中,用关键字_____定义基本整型变量,用关键字_____定义单精度实型变量,
用关键字_____定义双精度实型变量。Int float double
19.以下程序段的输出结果是_____。
int i = 0, sum = 1;
do
{sum += i++;
} while( i < 5);
printf(“%d\n”, sum);11
20.以下程序的输出结果是_____。
main()
{ int x = 2;
while ( x-- );
printf(“%d\n”, x);
} -1
#include "stdio.h"
main()
{
int a=0,b=0;
while(a<15)
a++;
while(b++<15);
printf("%d,%d\n",a,b);
}
【参考答案】
15, 16
21以下程序段的输出结果是_____。
int k, n, m;
n = 10; m = 1; k = 1;
while( k <= n )
m *= 2;
printf(“%d\n”, m);死循环
22.若依次输入字符AB,在以下while语句执行后ch的值是_____。while( ch = getchar() == …A?);0
23.有以下程序段:
s = 1.0;
for(k = 1; k <= n; k++)
s = s + 1.0 / (k * (k + 1));
printf(“%f\n”, s);
请填空,使下面的程序段的功能完全与之等同。
s = 0.0;
_____;
k = 0;
do
{ s += d;
_____;
d = 1.0 / (k * (k + 1));
}while(_____ );
printf(“%f\n”, s);
d = 1.0 k++ k <= n
main()
{
int a, b, c, d, i, j, k;
a = 10;
b =
c =
d = 5; i = j = k = 0;
for( ; a > b; ++b)
i++;
while( a > ++c )
j++;
do
k++;
while(a > d++);
printf(“i = %d, j = %d, k = %d\n”, i, j, k);
} i = 5, j = 4, k = 6
25.下列程序的功能是输入一个整数,判断其是否是素数,若为素数输出1,否则输出
0.请填空。
main()
{ int i, x, y=1;
scanf("%d", &x);
for(i=2; i<= _____; i++)
if_____{ y=0; break;}
printf("%d\n", y);
} 【参考答案】x / 2
【参考答案】
!(x % i)
x % i == 0
26. 阅读下面程序,程序执行后的输出结果为_____。
#include "stdio.h"
main()
{
char a,b;
for(a=′0′,b=′9′;a
printf("%c%c",a,b);
printf("\n");
} 【参考答案】
0918273645
27.以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成
绩,
当输入为负数时结束输入。请填空。
main()
{ float x, amax, amin;
scanf(“%f”, &x);
amax = x; amin = x;
while(_____ )
{ if( x > amax ) amax = x;
if(_____) amin = x;
scanf(“%f”, &x);
}
printf(“\namax = %f\naming = %f\n”, amax, amin);
【参考答案】
x >= 0 【参考答案】
x < amin
程序‘
随机输入10个数,选出其中的最大数。*/
#include
int main()
{
int i,max,a[10];
printf("input 10 number:\n");
i=0;
/*******ERROR*******/
while(i<=10)
{
/*******ERROR*******/
scanf("%d",a[i]);
i++;
}
max=a[0];
for(i=1;i<10;i++)
{
/*******ERROR*******/
if (a[i]>a[0])
max=a[i];
}
printf("max num=%d\n",max);
}
while(i<10) scanf("%d",&a[i]); if (a[i]>max) 选择
1. 下列说法中错误的是________。
A、变量的定义可以不放在本编译单位中,而放在其他编译单位中
B、变量的定义可以放在某个复合语句的开头
C、变量的定义可以放在所有函数之外 D
2.下面关于C语言用户变量的定义与使用中,不正确的描述是________。
A、变量应先定义后使用
B、通过类型转换可更改变量存储单元的大小
C、系统在编译时为变量分配相应的存储单元
D、变量按所定义的类型存放数据 B
3.以下关于C语言标识符的描述中,正确的是________。
A、关键字可以作为用户标识符
B、标识符可以由汉字组成
C、IF可以作为用户定义的合法标识符
D、标识符只能以字母开头 C
4.下列说法中正确的是________。
A、C语言程序总是从main()函数开始执行
B、 C语言程序中的main()函数必须放在程序的开始部分
C、C语言程序总是从第一个函数开始执行
D、在C语言程序中,要调用的函数必须在main()函数中定义 A
5.下面不是C语言基本数据类型的是________。
A、无符号长整型
B、单精度型
C、整型
D、指针类型 D
6.以下叙述正确的是________。
A、C语言可以不用编译就能被计算机识别执行
B、C语言出现得最晚,具有其他语言的一切优点
C、 C语言比其他语言高级
D、 C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D
7.下列说法中正确的是________。
A、分号和回车符号都可以作为一个语句的结束符号
B、函数名是由程序设计人员按照"标识符"的规则选取的
C、程序的执行总是从源程序的第一行开始执行的
D、在程序清单的任何地方都可以插入一个或多个空格符号 B
8. C语言程序的三种基本结构是________。
A、顺序、选择、循环
B、嵌套、选择、循环
C、顺序、循环、子程序
D、选择、递归、循环 A
9.以下选项中正确的实型常量是________。
A、0x12.F
B、077
C、0.
D、1.2E0.5 C
10.以下叙述不正确的是________。
A、在C程序中,j++;是一条赋值语句
B、在C程序中,赋值运算符的优先级最低
C、 C程序中的 # include 和 # define 均不是C语句
D、一个好的程序应该有详尽的注释 B
11.下列表达式中,不属于逗号表达式的是________。
A、 a,(b=c)
B、a=(b,c)
C、a,b=c
D、 a=b,c B
12.在16位C编译系统上,若定义long a;,则能给a赋值40000的正确语句是________。
A、a=30000+10000;
B、a=20000+20000;
C、 a=4000*10;
D、 a=4000L * 10L; D
13以下叙述中正确的是________。
A、在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误地表示。
B、常量′a′和″a″是相同的。
C、有八进制的实型常量。
D、整型和字符型数据在一定范围内能通用。 C
14设有如下程序段:
int x=2002,y=2003;
printf(″%d \n″,(x,y));
则以下叙述中正确的是________。
A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B、输出值为2003
C、输出值为2002
D、运行时产生出错信息 C
设有如下的变量定义:
unsigned long w=5;
double x=1;
则执行printf(″%ld \n″,sizeof(x)+w);输出的结果是________。
A、13
B、 9
C、 6.0
D、 6 A
15.下列程序的输出结果是________。
# include < stdio.h >
# include < math.h>
main()
{
int a=1,b=4,c=2;float x=10.5,y=4.0,z;
z=(a+b)/ c+sqrt((double)y)* 1.2/c+x;
printf(″%f \n″,z);
}
A、 14.900000
B、 14.000000
C、 13.700000
D、 15.400000 C
16.下列程序的输出结果是________。
# include
main()
{
int a=0x12;
printf(″a=%d \n″,a+=12);
}
A、 a=30
B、a=24
C、a=36
D、 a=22 A
17.若有以下程序段,其输出结果是________。
int a=0,b=0,c=0;
c=(a-=a -5),(a=b,b+3);
printf(″%d,%d,%d \n″,a,b,c);
A、 0,0,5
B、-10,3,-10
C、0,0,-10
D、 3,3,-10 A
18.有关下述语句输出的判断中,正确的是________。
char x=′\xe0-1′;
printf(″%d″,x);
A、赋值非法
B、输出值为224
C、输出值不确定
D、输出值为-2 A
19.以下程序段的输出是________。
float a=3.1415;
printf(″|%6.0f|\n″,a);
A、 |3.1415|
B、 |3.0|
C、 | 3|
D、 |3.| C
19.以下程序运行输出的结果为________。
#include
main()
{
int a;
printf(″%d \n″,(a=3*5,a*4,a+5));
}
A、 20
B、65
C、 10
D、15 A
20.设初始化int a=0,b=0,c=0,x=9;则执行下列语句之后,变量x的值是________。
if(a)x--;
else if(b)
if(!c) x=3;
else x=4;
A、8
B、9
C、4
D、3 B
21.有以下程序,程序运行后输入2 ,程序的输出结果是________。
#include
main()
{
int c;c=getchar();
switch(c-′2′)
{
case 0:
case 1:putchar(c+4);
case 2:putchar(c+4);break;
case 3:putchar(c+3);
case 4:putchar(c+2);break;
}
}
A、6
B、没有输出内容
C、6654
D、66 D
22.以下程序,运行后输出结果是________。
#include
main()
{
int i=1,j=1,k=2;
if((j++‖k++)&&i++)
printf(″%d,%d,%d\n″,i,j,k);
}
A、2,2,2
B、2,2,1
C、2,2,3
D、1,1,2 A
有如下程序,运行后的输出结果是________。
#include
main()
{
float x=2.0,y;
if(x<0.0)y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
printf(″%f\n″,y);
}
A、1.000000
B、0.000000
C、0.250000
D、0.500000 D
23.若运行以下程序时从键盘上输入9,则输出结果是________。
#include
main()
{
int n;
scanf(″%d″,&n);
if(n++<10) printf(″%d\n″,n);
else printf(″%d\n″,n--);
}
A、9
B、8
C、10
D、11 D
24.有以下程序,运行后的输出结果是________。
#include
main()
{
int a=15,b=21,m=0;
switch(a%3)
{
case 0:m++;break;
case 1:m++;
switch(b%2)
{
default:m++;
case 0:m++;break;
}
}
printf(″%d\n″,m);
}
A、3
B、4
C、1
D、2 C
25.有以下程序,运行后的输出结果是________。
#include
main()
{
int a=5,b=4,c=3,d=2;
if(a>b>c)
printf(″%d\n″,d);
else if((c-1>=d)==1)
printf(″%d\n″,d+1);
else
printf(″%d\n″,d+2);
}
A、3
B、4
C、编译时有错,无结果。
D、2 A
26.若有定义:float w;int a,b;则合法的switch语句是________。
A、switch(a+b);
{case 1:printf(″*\n″);
case 2:printf(″**\n″);
default:print f(″\n″);
}
B、switch(b)
{case 1:printf(″*\n″);
default:printf(″\n ″);
case 1+2:printf(″** \n″);
}
C、switch(w)
{case 1.0:printf(″*\n″);
case 2.0:printf(″** \n″);
}
D、switch(a);
{case 1 printf(″*\n″);
case 2 printf(″**\n″);
} B
27.以下程序,运行后输入65 ,程序的输出结果是________。
#include
main()
{
int m;
scanf(″%d″,&m);
if(m>45)printf(″%d ″,m);
else printf(″%d ″,m++);
if(m<35)printf(″%d ″,m);
else printf(″%d ″,++m);
if(m>25)printf(″%d ″,m);
}
A、不能确定
B、65
C、656666
D、6565 C
28.能正确表示a和b不同时为0的逻辑表达式是________。
A、(a==0&&b!=0)||(b==0 && a!=0)
B、a!=0 ||b!=0
C、(a==0)||(b==0)
D、a*b==0 A
29.运行下面程序时,当输入字符B 后,输出的结果是________。
#include
main()
{
char a;
scanf(″%c″,&a);
switch(a)
{
case ′a′:printf(″1″);break;
case ′b′:printf(″2″);break;
case ′c′:printf(″3″);break;
default:printf(″4″);
}
}
A、4
B、2
C、1
D、3 A
30.以下程序的输出结果是________。
#include
main()
{
int a=-1,b=1,k;
if((++a<0)&& (b--<=0))
printf(″%d %d\n″,a,b);
else
printf(″%d %d\n″,b,a);
}
A、1 0
B、-1 1
C、0 0
D、0 1 A
31.运行下列程序段后,x,y的值分别为________。
int x=1,y=1;
if(x=2)y=3; else y=4;
A、1,1
B、1,4
C、2,3
D、2,4 C
32.假定所有变量均已正确说明,运行下列程序段后x的值是________。
a=b=c=0;
x=35;
if(a)x--;
else if(b);
if(c) x=3;
else x=4;
A、3
B、35
C、34
D、4 D
33下面程序的输出结果是________。
#include
main()
{
int a=1,b=6,c=4,d=2;
switch(a++)
{
case 1:c++;d++;
case 2:switch(++b)
{
case 7:c++;
case 8:d++;
}
case 3:c++;d++;break;
case 4:c++;d++;
}
printf(″%d,%d\n″,c,d);
}
A、7,5
B、8,6
C、4,2
D、5,3 A
34.下面不正确的语句是________。
A、if((a=b)>0)t=a;
B、if((a=b;)>0)t=a;
C、if(a>b);
D、if(a
35.有一函数,其功能为:若x<0,y值为-1;若x为0,y值为0;若x>0,y值为1。以下程序段中不能根据x值正确计算出y值的是________。
A、if(x>=0)
if(x>0)y=1;else y=0;
else y=-1;
B、if(x>0)y=1;
else if(x==0)y=0;
else y=-1;
C、y=0;
if(x>=0) if(x> 0)y=1;
else y=-1;
D、y=0;
if(x>0)y=1;
else if(x<0)y=-1; C
36.以下程序的输出结果是________。
#include
main()
{
int m=5;
if(m++>5) printf(″%d\n″,m);
else printf(″%d\n″,m--);
}
A、7
B、5
C、4
D、6 D
37.以下程序,运行后的输出结果是________。
#include
main()
{
int x=1,a=0,b=0;
switch(x)
{
case 0:b++;
case 1:a++;
case 2:a++;b++;
}
printf(″a=%d,b=%d\n″,a,b);
}
A、a=1,b=0
B、a=2,b=2
C、a=2,b=1
D、a=1,b=1 C
38.对用C语言编写的代码程序,以下叙述中哪个是正确的
A、是一个源程序
B、可立即执行
C、经过编译解释才能执行
D、经过编译即可执行 A
39. 结构化程序由三种基本结构组成, 由这三种基本结构组成的算法
A、只能完成一些简单的任务
B、只能完成部分复杂的任务
C、可以完成任何复杂的任务
D、只能完成符合结构化的任务 D
40. 一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是
A、可行性
B、有穷性
C、有零个或多个输出
D、有零个或多个输入 C
41. 有一个命名为C001.C的C语言源程序,当正常执行后,在当前目录下不存在的文件是
A、C001.OBJ
B、C001.C
C、C001.EXE
D、C001.DAT D
42. 以下叙述中正确的是
A、C语言的每条可执行语句最终都将被转换成二进制的机器指令
B、C语言的函数不可以单独进行编译
C、C语言的源程序不必通过编译就可以直接运行
D、C语言的源程序经编译形成的二进制代码可以直接运行 A
43.以下选项中不正确的实型常量是
A、456e-2
B、0.05e+1.5
C、2.670E-1
D、-77.77 B
44. C语言中不合法的字符常量是
A、?\65?
B、?\xff?
C、?\028?
D、?&? C
45.若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是
A、a=b=c=100
B、d=(c=22)-(b++)
C、d++
D、c+b D
46.若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是
A、a=b=c=100
B、d=(c=22)-(b++)
C、d++
D、c+b D
47.可在C程序中用作标识符的一组标识符是
A、2c DO SiG
B、void Define WORD
C、as_b3 _123 If
D、For -abc case C
48. C语言中运算对象必须是整型的运算符是
A、+
B、%
C、*
D、/ C
49. Turbo C中int类型变量所占字节数是
A、4
B、3
C、2
D、1 B
50.以下非法的赋值语句是
A、j++
B、x=j>0
C、n=(i=2,++i)
D、++(i+1) D
51.与十进制数97不等值的字符常量是
A、?\101?
B、?\x61?
C、?\141?
D、?a? A
52.设有语句char a= …\172?;,则变量a
A、说明不合法
B、包含2个字符
C、包含1个字符
D、包含3个字符 C
53.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是
A、6.000000
B、5.500000
C、6
D、6.500000 A
54.以下选项中不合法的用户标识符是
A、Dim
B、printf
C、_123
D、A$ B
55.以下选项中不是C语句的是
A、{ ; }
B、;
C、{int i; i++; printf(“%d\n”, i); }
D、a=5,c=10 D
56.以下选项中不是C语句的是
A、{ ; }
B、;
C、{int i; i++; printf(“%d\n”, i); }
D、a=5,c=10 D
57若变量已正确定义并赋值,符合C语言语法的表达式是
A、int(12.3%4)
B、a=7+b+c,a++
C、a=a+7
D、a=a+7=c+b B
58.以下选项中正确的整型常量是
A、4/5
B、5
C、-10
D、1.000 C
59.以下选项中不合法的用户标识符是
A、file
B、wb-1
C、PRINTF
D、Main B
60.以下叙述中正确的是
A、在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式
B、a是实型变量,C允许以下赋值a=10,因此可以这样说实型变量中允许存放整型值。
C、执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b 的值,b的值由原值变为0
D、已有a=3, b=5。当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3 A
61. C语言中的简单数据类型有
A、整型、实型、字符型
B、整型、字符型、逻辑型
C、整型、实型、逻辑型
D、整型、实型、逻辑型、字符型 A
62.以下合法的C语言赋值语句是
A、a=b=58
B、a=58,b=58
C、--i
D、k=int(a+b) C
63.不合法的十六进制数是
A、0Xabc
B、0x19
C、0x11
D、oxff D
64.以下选项中正确的实型常量是
A、0.03x102
B、32
C、3.1415
D、0 B
二年级C语言程序填空 题答题技巧 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)
程序填空题答题技巧 程序填空题是计算机等级考试中的重点中度难点,占有的分值为30 分。做填空题时注意掌握答题技巧。 填空题的分类: (一)、数学题目 解题方法: 1.量赋初值,如果这个量以后用到的是加减运算,则赋初值0或者为是0.0;如果以后用到的是乘除运算,则赋初值为1或者是1.0; 2.循环条件的填空,分析表达式的规律,看表达式中的最后一项的值是否到了第m项或者是第n项,如果到了第m或者第n项,则在循环中的第二个表达式中用到的是i<=m或者是i<=n; 3.循环条件中如果用的是while 语句,则循环变量的初值应该在while 的外面定义和赋初值,在循环语句中必须给变量自加或者是自减。如果没有则一般填的是i++; 例子:int i=1; while(i<5){} (二)、字符串题目 1、循环的条件是判断该字符是否和结束符\0相等,如果相等,说明该字符串结束,否则说明没有结束,继续循环。While(s[i]!=’\0’) 2、把一个数字字符转变成对应的数值的格式是:ch=’1’-‘0’;把大写字母转变为小写字母 的格式:c h=c h+32 ;把小写字母转变为大写字母的格式为:ch=ch-32 ;
3、区分好字符数组中的指针和指针所指的值的关系。在循环语句中,当指针往后走一个位置的时候,用的是指针的自加,而不是指针所指的值的自加。 char ch[5]=”abcd” ; char * p; p=ch; p指向哪个字母?*p 代表什么?p指向下一个字母如何操作?p++还是(*p)++ 4、掌握字符数组中的函数的使用的格式。即:strlen(a)、strcmp(a,b)、strcpy(a,b) 、sizeof() 、strcat()的使用格式。注意里面的格式中使用的都是指针或数组名。 5、字符数组结束时都有一个结束符:‘\0’;在字符数组中的题目中的结束后要加上一个结束符。 (三)、结构体题目 结构体类型的题目 1、看清题目的意思。 2、定义结构体变量时的格式。 struct student *stu1 stu1->name struct student stu2 https://www.wendangku.net/doc/aa1353261.html, 3、结构体中成员的调用格式。结构体中的成员分为多种类型,调用结构体重的成员,使用的是“.”或者是“—>”运算符。得到结构体中学生分数,a— >score[i]。 4、如果返回的是结构体的话,函数的返回类型必须是结构体类型。调用函数的格式中,调用的若是结构体数组,则只用写结构体数组名。 (四)、函数题目(重点)
C语言常见复习题及参考答案 一、选择题 1.下述标识符中,()是合法的用户标识符。 A.A#C B.getch C.void D.ab* 2.在C语言中,字符型数据在内存中是以()形式存放的。 A.原码 B.BCD码 C.反码 D.ASCII码 3.以下选项中不合法的用户标识符是()。 A.abc.c B.file C.Main D.PRONTF 4.以下选项中不合法的用户标识符是()。 A.123 B.printf C.Anbsp; D.Dim 5.可以在C语言程序中用做用户标识符的一组标识符是()。 A.void B.as-b3 C.for D.2c define -123 -abc Do WORD If cas SIG 6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。 (1)A.001 B.table_1 C.0_t D.k% Int t*.1 W10 point (2)A.Fast_ B.void C.pbl D. Fast+Big abs fabs beep (3)A.xy_ B.longdouble C.*p D.CHAR 变量1 signed history Float 7.()是构成C语言的基本单位。 A.函数 B.过程 C.子程序 D.子例程 8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。
(1).A.包含3个字符 B.包含2个字符 C.包含1个字符 D.无定值,说明不合法 (2).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 (3).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 9.若x为int型变量,则执行以下语句后,x的值为 x=6; x+=x-=x*x A.36 B.-60 C.60 D.-24 10.在C语言中,char 型数据在内存中是以()形式存储的。 A.原码 B.补码 C.ASCII码 D.反码 11.以下运算符中优先级最低的算符为(),优先级最高的为()。 A.&& B.& C.|= D.|| E.?: F.!= 12.若有运算符>、*=、<<、%、sizeof,则它们按优先级(由低至高)的正确排列顺序为 A.*= << > % sizeof B.<< *= > % sizeof C.*= > << sizeof % D.*= > << % sizeof 13.若有以下类型说明语句 char w; int x; float y; double z; 则表达式w*x+z-y 的结果是()类型。 A.float B.char C.int D.double 14.若w,x,y,z 均为int 型变量,则执行下面的语句后, w=(1), x=(2), y=(3), z=(4)。 w=5; x=4; y=w++*w++*w++; z=--x*=--x*--x;
1、在考生目录下,给定程序FILL1、C的功能就是: 计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该就是:20。 若输入:202,则输出应该就是:0。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include
C语言程序设计试题1 一、单项选择题 1.C语言规定,在一个源程序中main函数的位置______d___ 。 A.必须在最开始B.必须在最后 C.必须在预处理命令的后面D.可以在其他函数之前或之后 2.以下选项中,_________d__ 是C语言关键字 A.printf B.include C.fun D.default 3.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为____a_ 。 A.0 B.3 C.3.5 D.4 4.设指针变量占4个字节的内存空间,若有声明"char *p="123";int c;",则执行语句 "c=sizeof(p);"后,c的值为__d__ A.1 B.2 C.3 D.4 5.已知有声明"int a=3,b=4;",下列表达式中合法的是_d___。 A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++ 6.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是___d_。 A.s="Good"; B.s[20l="Good"; C.strcat(s,"Good"); D.strcpy(s,"Good"); 7.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是_a___ 。 A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3] 8.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为_b___ 。 A.3 B.3.0 C.3.89 D.4.0 9.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为 __b__。 A.3,1 B.15,12 C.15,1 D.3,12 10.下面的函数定义正确的是_____d________ A)float fun (float x ; float y) {return x*y;} B)float fun (float x,y) {return x*y;} C)float fun (x,y) {int x,y;return x*y;} D)int fun (int x, int y) {return x*y;} 11.某程序需要使用一个代表常数3.14的符号常量名P,以下定义中正确的是_d___。 A.#define P 3.14; B.#define P(3.14) C.#define P=3.14; D.#define P 3.14 12.下列四个选项中,属于C语言关键字的是__c__ 。 A.Float B.single C.double D.real 13.已知某编译系统中signed int类型数据的长度是16位,该类型数据的最大值是_D___。 A.32767 B.32768 C.127 D.65535
程序填空 第1题 题目:求出二维数组中的最大元素值。 1). max_value(3,4,a) 2). array[][4] 3). max=array[i][j] 第2题 功能:数组名作为函数参数,求平均成绩。 1). a 2). av 3). &sco[i] 4). sco 第3题 题目:求数组中的最大值。 程序中有4个空,填空使程序完整。 1). &a[i] 2). a[i] 3). int x,int y 或 int y,int x 4). z 或 ( z ) 第4题 题目:找出数组中最大值和此元素的下标,数组元素的值由键盘输入。 1). a + i 或 &a[i] 2). p-a 或 -a+p 3). > 4). *s 第5题 功能:通过函数的递归调用计算阶乘。 1). power(n-1)*n 或 power( n - 1 ) * n 2). &n 3). y 第6题 题目:有5个学生,每个学生有3门课的成绩,从键盘上输入以上数据(包括学生的学号、姓名和3门课的成绩),计算出平均成绩,将原有数据和计算出来的平均成绩存放在磁盘文件“stu”中。 1). *fp 2). k/n 3). &a[i] 4). &b[i] 第7题 题目:下面程序的功能是:将一个字符串中下标为m的字符开始的全部字符复制成为另一个字符串。程序中有4个空,填空使程序完整。 1). char *p1 , *p2 ;
2). p1= str1 + m; 3). *p2++=*p1++; 或 *(p2++)=*(p1++); 4). strcopy(str1,str2,m); 第8题(10.0分)题号:422 题目:文件操作。 1). FILE 2). r 3). fclose(fp) 第9题 题目:输入学生成绩并显示。 1). i++ 或 ++i 或 i=i+1 2). &stu[i] 3). &stu[i] 4). printf 第10题 题目:输入数组,最大的与最后一个元素交换,最小的与第一个元素交换,输出数组。 1). i<9 或 9>i 2). min=p 3). l=*p 4). array[9]=k 第11题 题目:以下程序的功能是删除一个字符串中的所有数字字符。 1). s[i]!= 或 *(s+i)!= 2). || 3). s[j]=s[i] 4). delnum(item) 第12题(10.0分)题号:436 题目:输出两个整数中大的那个数,两个整数由键盘输入。 1). (int *) 2). p1 3). *p1 第13题 题目:以下程序的功能是删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。 1). str 2). !='\0' 3). str[k]=str[i] 4). str[k]='\0' 第14题 题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。
二、填空题 1、C语言中对文件读写之前必须先打开文件,文件的打开是通过调用________函数来实现。 答案: 1:fopen#fopen()#fopen() 知识点:知识点/基本理论/C11文件/C11_2文件函数 2、C语言中文件操作结束节后,必须关闭文件。而且关闭文件是通过调用__________函数来实现。 答案: 1:fclose#fclose()#fclose() 知识点:知识点/基本理论/C11文件/C11_2文件函数 3、字符串函数________用于从指定的磁盘文件中读出一个字符串。 答案: 1:fgets#fgets() 知识点:知识点/基本理论/C11文件/C11_2文件函数 4、字符串函数___________用于把一个字符串写入指定的磁盘文件中。 答案: 1:fputs#fputs() 知识点:知识点/基本理论/C11文件/C11_2文件函数 5、字符读写函数____________是用于从磁盘文件中读出一个字符。 答案: 1:fgetc#fgetc()#getc#getc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 6、字符读写函数____________是用于把一个字符写入磁盘文件。 答案: 1:fputc#fputc()#putc#putc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 7、共用体类型变量的定义关键字是________。 答案: 1:union 知识点:知识点/基本理论/C10共用体与枚举类型 8、定义枚举类型时采用的关键字是__________。 答案: 1:enum 知识点:知识点/基本理论/C10共用体与枚举类型 9、在C语言中,从参数的形式看,函数可以分为两类:无参函数和____________函数。 答案: 1:有参 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 10、在C语言中,函数的返回值是由___________语句传递的。 答案: 1:return#return() 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 11、在C语言中,按函数在程序中出现的位置可分为以下三种调用方式:函数语句、函数表达式和函数 __________。 答案: 1:参数 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 12、在C语言中,在调用一个函数的过程中又出现__________或间接地调用该函数本身,这一现象称为函数的递归调用。 答案: 1:直接 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 13、在C语言中,若确实不要求返回函数值,则应将函数定义为___________类型。 答案: 1:void 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 14、在C语言中,假使X为基本整型变量,如果我们采用printf("格式控制",X)格式输出X,那么"格式控制"具体表示为"__"。
三、程序填空题 导读:在程斥填空题中,已经给出了程序的主干,读者首先要理解程序的思路, 再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步堂握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上己经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而白己编写程序乂不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 ttinclude for(i=0; i<10; i++) scanf &a[i]); findmin(a, 10, k); printf ("%d, %d\n", *k, a L*kJ); } 【3.4】下面程序的功能是计算1-3+5-7+……-99+101的值。 main() { int i, s=0: for(i=l; i<=101: i+=2) {①; s二s+t: ②; } printf ("%d\n", s); } [3.5]有以下程序段: s=l. 0; for(k=1: k<=n: k++) s=s+l. 0/(k*(k+1)); printf ("%f\n", s); 填空完成下述程斥,使之与上述程序的功能完全相同。 s=0. 0: ①; k=0; do { s二s+d; ②; d=1.0/(k*(k+l)); }while(③); printf ("%f\n", s); [3.6]下而程用的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main () ;、float x, amax, amin; scanf &x); amax=x: amin=x; #include } } #include 1. 一条简单语句是以________字符作为结束符的,一条复合语句是分别以 ________字符和________字符作为开始符和结束符的。 2. 任何一个C++程序至少且只能包含一个________函数,且程序总是从这个函数开始执行,不论这个函数的位置如何。一个函数定义由________和________两部分组成。 3. C++头文件和源程序文件的扩展名分别为________和________。 4. cout与操作符_______配合使用才能显示输出,cin与操作符_____配合使用才能实现输入。 5. 数据类型int,char,bool,float,double, int * 等的类型长度分别为________、________、________、________、________和________。 6. 数值常量46、0173和0x62对应的十进制值分别为________、________和________。 7. 字符串”It\’s\40a\40C++programe!”中包含有__________个字符。 8. 若x=5,y=10,则计算y*=++x表达式后,x和y的值分别为________和 ________。 9. 若x=25,则计算y=x--表达式后,x和y的值分别为________和________。 10. 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为________和________。 11. 假定x=64,y=88,则x<<2和y>>2的值分别为________和________。 12. 假定x是一个逻辑量,则x&&true的值与________的值相同,x||false的值也与________的值相同。 13. 假定x是一个逻辑量,则x&&!x和x||!x的值分别为________和________。 14. 假定x=10,则表达式x<=10?20:30的值为________。 15. 表达式sqrt(81)和pow(6,3)的值分别为______________和 ______________。 16. 数学算式(1+x)sin48°和axbex+1对应的算术表达式分别为________和 ________。 17. 逻辑表达式:a>=x||b>2*y+10的相反式为:________。 18. 在嵌套的if语句中,每个else关键字与它前面最接近的________关键字相配套。 19. 在for语句中,假定循环体被执行次数为n,则<表达式1>共被计算________次,<表达式2>共被计算________次,<表达式3>共被计算________次。20. 执行for和while循环时,每次是先进行________的判断,然后再执行 ________,执行do循环时则相反。 C语言程序设计试题(第1套) 一.单项选择题(30分,每题2分) 1.用C语言编写的代码程序______。 A、可立即执行 B、是一个源程序 C、经过编译即可执行 D、经过编译解释才能执行 2. C语言中用于结构化程序设计的三种基本结构是______。 A、顺序结构、选择结构、循环结构 B、if、switch、break C、for、while、do-while D、if、for、continue 3. 以下选项中合法的实型常数是______。 A、B、E-3 C、.2E0 D、 4. 假定x和y为double型,则表达式x=2,y=x+3/2的值是______。 A、B、3 C、D、 5. ch是字符型变量,下面不正确的赋值语句是______。 A、ch = 65; B、ch="a"; C、ch ='\ n'; D、ch= 9+ '0'; 6. 下列有关C语言程序书写格式的说法哪个是错误的 A、C程序的书写格式比较自由,一个语句可以占多行,一行也可以有多个语句。 B、C语句必须要有分号。 C、C语言程序的标识符必须使用小写字母。 D、用{ } 括起来的部分,通常表示了程序的某一层次结构,称为块。 7.下面程序段所表示的数学函数关系是______。 x= -1; if (a!=0) if (a>0) x=1; else x=0; -1 (a<0) 1 (a<0) A、x= 0 (a=0) B、x= -1 (a=0) 1 (a>0) 0 (a>0) 0 (a<0) -1 (a<0) C、x= -1 (a=0) D、x= 1 (a=0) 1 (a>0) 0 (a>0) 8. 以下关于do-while循环的不正确描述是______。 A) do-while的循环体至少执行一次 B) do-while的循环体可以是复合语句 C) 在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作 D) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 9. 以下程序执行后sum的值是______。 A) 15 B) 14 C) 不确定 D) 0 main() { int i , sum=0; for(i=1;i<6;i++) sum+=i; printf("%d\n",sum); } 10.若有说明语句:int a[][3]={1,2,3,4,5,6}; 则a数组第一维的大小是。 A. 1 B. 2 C.3 D. 无确定值 11. C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是______。 A、float型 B、long型 C、int型 D、double型 12.下面正确的函数定义形式为 A、double fun(int x;int y) B、double fun(int x,int y); C、double fun(int x,y) D、double fun(int x,int y) 13.以下程序运行后,输出结果是______。 #define ADD(x) x+x 三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p 1. 在考生目录下,给定程序FILL1.C的功能是: 计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该是:20。 若输入:202,则输出应该是:0。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include /**************found************/ ___(1)___; scanf("%s",s); /**************found************/ for(i=0;___(2)___;s[i] != ‘\0’ ;i++) n=n*10+s[i]-'0'; printf("n=%ld\n",n); } 3. 在考生目录下,给定程序FILL1.C的功能是:输出Fabonacci数列:1,1,2,3,5,8,……的前20项的 项值,要求每行输出5个数。请填空。 程序有两个空(1)、(2)需要补充完整。请将程序调试出 所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include "stdio.h" main() { long int f[20]={1,1}; int i; clrscr(); /**************found************/ ___(1)___; printf("%8ld,%8ld",f[0],f[1]); for(i=2;i<20;i++) { f[i]=f[i-1]+f[i-2]; /**************found************/ if(___(2)i%5==0) printf("\n"); printf("%8ld",f[i]); } printf("\n"); } 4. 在考生目录下,给定程序FILL1.C的功能是:实现在N行M列的二维数组中,找出每一行上的最大值,且原数组值不变。 例如:如果二维数组元素的值为: 1 5 7 4 2 6 4 3 8 2 3 1 时,程序的运行结果应为: The max value in line 0 is 7 The max value in line 1 is 6 《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 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}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 选择题(30分)(第一部分分10分,第二部分12分,第三部分8分) 第一部分:简单类题目(50个题目,从中选择10,每题1分) 1、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为(C)A.4B.16 C.32D.522 2.以下程序的输出结果(B)。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); } A.输出:* * * * B.输出:# # # # C.存在语法错误D.无输出结果 3.下面四个选项中,均是合法转义字符的选项是(A)。 A.'\'' '\\' '\n' B.'\' '\017' '\"' C.'\018' '\f' 'xab' D.'\\0' '\101' 'xlf' 4.若有说明:int a=1,b=2,c=3,d=4;则表达式a 2012-2013学年二学期C语言期末考试试卷(A卷)班级:___________学号:___________姓名:___________得分:___________ 题号一二三四五六七八九十成绩复核得分 阅卷 题目部分,(卷面共有24题,100分,各大题标有题量和总分) 一、填空题(24小题,共100分) 1. 以下程序的功能是计算下面函数的值。请填空。 #include 3. 已定义一个含有30个元素的数组s,函数fav1的功能是按顺序分别赋予各元素从2开始的偶数,函数fav2则按顺序每五个元素求一个平均值,并将该值存放在数组w中。请填空。 #define SIZE 30 fav1(float s[]) { int k,i; for(k=2,i=0;i 【程序填空】 功能:写一个函数,求一个字符串的长度,在main函数中输入字 符串,并输出其长度。 len=length(str...); I.nt length ........(p) N.++..; P.++..; 【程序改错】 功能:将一个字符串中的大写字母转换成小写字母。 bool (char) ......fun(char *c) fun= c;(return *c) .......... puts(*p);(putchar(*p)) ............. 【程序设计】 功能:编写函数实现两个数据的交换,在主函数中输入任 意三个数据,调用函数对这三个数据从大到小排序。 ------------------------------------------------*/ #includec语言程序填空题
C语言填空题以及答案
C语言程序设计试题第1套(山东建筑大学)
c语言程序填空题(1)
C语言填空题
C语言程序设计模拟试题1附答案
c语言经典选择填空题1
C语言练习题填空题1
c语言程序填空(含答案)