(完整版)C语言试题及答案解析
《C语言》练习题及答案解析
《C语言》练习题及答案解析
一.选择题
1.下列字符序列中,不可用作C语言标识符的是(B)。
A.abc123 B.no.1 C._123_ D._ok
2.一个C语言源程序是由(B)。
A.一个主程序和若干子程序组成
B.一个或多个函数组成
C.若干过程组成
D.若干子程序组成
3. 正确的C语言标识符是(A )。
A._buy_2 B.2_buy C.?_buy D.buy?
4.已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;后,S中的值为(A)。
A.’D’B.68 C.不确定的值D.’C’
5.下列说法中,错误的是(A)。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外
C.主函数只能调用用户函数或系统函数,用户函数可以相互调用
D.程序是由若干个函数组成的,但是必须有且仅有一个主函数
6.有如下程序段,从键盘输入数据的正确形式应是(B)。(注:└┘代表空格)
float x,y,z;
scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);
A.123 B.x=1,y=2,z=3
C.1,2,3 D.x=1└┘ y=2└┘ z=3
7.在C语言中,char型数据在内存中的存储形式是(D)。
A.补码B.反码C.原码D.ASCII码
8. 下列符号中,不属于转义字符的是(B )。
A.\\ B.\0xAA C.\t D.\0
9. 不属于C语言关键字的是(D)。
A.int B.break C.while D.character
C语言期末考试试题及详细答案
选择练习题
1、C 语言中最简单的数据类型包括( B )。
A 、整型,实型,逻辑型
B 、整型,实型,字符型
C 、整型,字符型,逻辑型
D 、整型,实型,逻辑型,字符型 2、C 语言中,运算对象必须是整型数的运算符是(A )。
A 、%
B 、/
C 、%和/
D 、*
3、为表示关系x <y <z ,应使用C 语言表达式( A )。
A 、(x <y)&&(y <z)
B 、(x <y)AND (y <z)
C 、(x <y <z)
D 、(x <y) &(y <z)
4、C 语言程序的基本单位是( C )。
A 、程序行
B 、语句
C 、函数
D 、字符
5、C 语言的程序一行写不下时,可以( D )。
A 、用逗号换行
B 、用分号换行
C 、用回车符换行
D 、在任意一空格处换行
6、下述标识符中,( C )是合法的用户标识符。
A 、A&
B B 、void
C 、_student
D 、ab* 7、在C 语言中,字符型数据在内存中以( B
A 、补码
B 、ASCII 码
C 、反码
D 、原码
8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B
)。
A 、auto
B 、extern
C 、static
D 、Register 9、以下关于switch 语句和break 语句的描述中,只有(B A 、在switch 语句中必须使用break 语句
B 、在switch 语句中,可以根据需要使用或不使用break 语句
C 、break 语句只能用于switch 语句中
D 、break 语句是switch 语句的一部分
10、C 语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。
(完整版)C语言程序设计题库及答案,推荐文档
第二套试题
单选题(共 20 题,每题 4 分) 1 . 若有输入语句 scanf( %d%d%d,&x,&y,&z);则不能使 x 值为 5,y 值为 6,z 值为 7 的输入是___A___。
A.5,6 ,7
A.1
B.3
C.2.0
D.2.5
19 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有(C )个实参。 A.1 B.2 C.3 D.6 20 . 有 int x=3,y=4,z=5;则下面表达式中值为 0 的是__B____。 A.x&&y B.! (x<y&&!z||1) C.x||y+z&&y-z D.x<=y 21 . 已定义 c 为字符型变量,则下列语句中正确的是____C__。
4 . c 语言中,每个函数都必须要有一个且只有一个 main 函数。 参考答案:错 答案解析: 暂无 5 . 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是 8。 参考答案:对 答案解析: 暂无 6 . 表达式 a=a+b 可以写成 a+=b。 参考答案:对 答案解析: 暂无 7 . 在 C 语言中,变量不区分大小写。 参考答案:错
(整理)C语言试题及答案.
这里a+1=a[1]的地址;*(a+1)的值是6,故A正确。
B、*(a[1]+1)的值为2
为8,故B不正确
C、**(a+1)+2的值为8
这里a+1是一个指针,指向的是a[1]. *(a+1)为a[1],a[1]指向的是a[1][0]. **(a+1)为6,加2得8,故C正确;
5、do……while和while……do有什么区别?
答:前一个循环一遍再判断,后一个判断以后再循环
6、请写出下列代码的输出内容
#include <stdio.h>
main()
{
int a,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
printf( "b,c,d:%d,%d,%d ",b,c,d);
D对程序中双引号括起来的字符串,即使与宏名相同,也不进行置换
3、若定义static char s[20]=”computer”;则执行语句x = strlen(s);之后,x的值为多少?
①20②9③8④19
//strlen函数计算char*型字符串的长度的时候,并不包含末尾的\0;
4、以下哪一个表达式取值是正确的?
(完整版)C语言试卷及答案
(完整版)C语言试卷及答案
一、选择题(每题2分,共40分)
1、C语言源程序的基本单位是( )
A.程序行
B.语句
C.函数
D.字符
2、C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面
C.可以任意D.必须在最后
3、在下列字符列中,合法的标识符是( )
A.p12&.a
B.stud_100
C. water$12
D.88sum
4、在C语言中,要求运算的数必须是整数的运算符是()
A./
B.!
C.%
D.= =
5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()
A、3
B、0
C、9
D、-12
6、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()
A、1
B、2
C、3
D、4
7、执行下列程序时输入:1234567,程序的运行结果是()
main()
{
int x,y;
scanf(“%2d%*2c%1d”,&x,&y);
printf(“%d\n”,x+y);
}
A.17
B.46
C.15
D.9
8、下述程序的输出结果是() #include
void main()
{int x=-1,y=4;
int k;
k=++x<=0&&!(y--<=0);
printf("%d,%d,%d",k,x,y);}
A.0,0,3
B.0,1,2,
C.1,0,3,
D.1,1,2
9、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的if
B.在其之前未配对的if
C语言期末试题及答案
C语言期末考试题及答案
一. 单选题(共20题,每题2分,共40分)
1. 以下运算符中优先级最高的是()
A.<
B.+
C.&& D .!
2. 下列说法正确的是()
A. 在执行C语言程序时不是从main函数开始的
B. C语言程序书写格式严格,一行内必须写一个语句
C. C语言程序书写格式自由,一个语句可以分写在多行上
D. C语言程序书写格式严格,一行内必须写一个语句,并要有行号
3. 下面的符号常量定义中,正确的是()
A.#define PI 3.14;
B.#include PI 3.14;
C.#define PI=3.14
D.#define PI 3.14
4. 以下程序的输出结果是 ( )
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31;
fun(5,2,a);
printf("%d",a);
}
A.0
B.29
C.31
D.无定值
5. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回实参
D.传递方式由用户指定
6. 假设int型变量占两个字节的存储单元,若有定义:
int x[10]={0,2,4};
则数组x在内存中所占字节数为______。
A.3
B.6
C.20
D.10
7. 下列合法的数组定义是_________。
A.int a[]=”string”;
B.int a[5]={0,1,2,3,4,5};
C.char a=”string”;
D.char a[]={0,1,2,3,4,5};
C语言试题库(含答案)
{case'+':w=a+b;break;
case'-':w=a-b;break;
case'*':w=a*b;break;
case'/':w=a/b;break;}
在下列写法中,错误的是
A、if(ch=='+')w=a+b;
if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
【10】若有以下定义,则对数组元素地址的正确引用是。
int a[5]={1,2,3,4,5},*p,i;
i=3;p=a;
A、&p
B、a++
C、&(p+1)
D、&p[i]
标准答案:D
【11】有以下程序:
#include<stdio.h>
main()
{int x,y;print f("Enteranint eger(x):");
A、数组的首地址
B、数组第一个元素的值
C、数组中全部元素的值
D、数组元素的个数
标准答案:A
【4】设有以下结构体定义:
struct emproyer
{char name[8];int age;char sex;}staff;
C语言编程题精选和答案解析
C语言编程题精选
C语言学习 2010-11-30 15:48:25 阅读47 评论0 字号:大中小订阅
1. 有函数F(x)=(x+1)2和G(x)=2x+1,输入X值计算F(G(x))的值。
2. 任意输入三个字符,要求首先按逆序输出,然后同行原序输出。
3. 在屏幕上输出如下图案(考虑能否将输出的行数由输入的值来控制):******
******
******
******
4. 在屏幕上输出如下图案(考虑将输出的行数由输入的值来控制):
*
**
***
****
*****
5. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
*
***
*****
*******
6. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
****
***
**
*
7. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
*******
*****
***
*
8. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
*
***
*****
*******
*****
***
*
9. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
*
***
*****
*******
10. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
*
***
*****
*******
*****
***
*
11. 编写打印如下图形的程序(考虑将输出的行数由输入的值来控制): * * * * *
* * * * *
* * * * *
* * * * *
12. 编制程序打印如下图形(考虑将输出的行数由输入的值来控制):A
BBB
CCCCC
DDDDDDD
C语言考试试题库和答案解析
1、下面程序的输出是___D______
#include<stdio.h>
void main()
{ int k=11;
printf("k=%d,k=%o,k=%x\n",k,k,k);
}
A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b
2、在下列选项中,不正确的赋值语句是__D______.
A) ++t; B) n1=(n2=(n3=0));
C) k=i=j; D) a=b+c=1;
3、下面合法的C语言字符常量是______A____.
A) '\t' B) "A" C) 65 D) A
4、表达式: 10!=9的值是________D____.
A) true B) 非零值 C) 0 D) 1
5、C语言提供的合法的数据类型关键字是_____B____.
A) Double B) short C) integer D) Char
6、字符(char)型数据在微机内存中的存储形式是__D__.
A) 反码 B) 补码 C) EBCDIC码 D) ASCII码
7、C语言程序的基本单位是_____C______.
A) 程序行 B) 语句 C) 函数 D) 字符
8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____
A) 552 B) 264 C) 144 D) -264
9、执行下面程序中的输出语句后,输出结果是____B__.
#include<stdio.h>
C语言试题及答案
C语言试题及答案
C语言试题及答案
讷讷寡言者未必愚,喋喋利口者未必智。以下是店铺为大家搜索整理C语言试题及答案,希望能给大家带来帮助!
一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)
下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 一个完整的计算机系统包括
A.主机、键盘与显示器
B.计算机与外部设备
C.硬件系统与软件系统
D.系统软件与应用软件
(2) 十六进制数1000转换成十进制数是
A.4096
B.1024
C.2048
D.8192
(3) 十进制数269转换成十六进制数是
A.10E
B.10D
C.10C
D.10B
(4) 如果用八位二进制补码表示带符号的定点整数,则能表示的十进制数的范围是
A.-127到+127
B.-128到+128
C.-127到+128
D.-128到+127
(5) 下列设备中,既可作为输入设备又可作为输出设备的是
B.打印机
C.键盘
D.磁盘驱动器
(6) 下列各叙述中,正确的是
A.正数十进制原码的补码是原码本身
B.所有的十进制小数都能准确地转换为有限位二进制小数
C.汉字的计算机内码就是国标码
D.存储器具有记忆能力,其中的信息任何时候都不会丢失
(7) 在下列操作中,能导致DOS系统重新启动但不进行系统自检的是
A.加电开机
B.按+
C.按++
D.按RESET按钮
(8) 如果给定一个带有通配符的文件名F*.?,则在下列各文件中,它能代表的文件名是
A.FA.EXE
B.F.C
C.EF.C
c语言程序设计题目及答案解析
一、程序设计共113题
第1题题号:319
#include "stdio.h"
void wwjt();
int fun(int m)
{
int i,k=1;
if(m<=1) k=0;
for(i=2;i<m;i++)
if(m%i==0) k=0;
return k;
}
第2题题号:351
-----------
功能:请编一个函数void fun(int tt[M][N],int pp[N]),
tt指向一个M行N列的二维数组,求出二维数组每列
中最大元素,并依次放入pp所指一维数组中。二维
数组中的数已在主函数中赋予。
#include<conio.h>
#include<stdio.h>
#define M 3
#define N 4
void wwjt();
void fun(int tt[M][N],int pp[N]) {
int i,j;
for(j=0;j<N;j++)
{
pp[j]=tt[0][j];
for(i=1;i<M;i++)
if(tt[i][j]>pp[j])
pp[j]=tt[i][j];
}
第3题题号:375
功能:从键盘上输入任意实数,求出其所对应的函数值。 z=e的x次幂(x>10)
z=log(x+3) (x>-3)
z=sin(x)/((cos(x)+4)
#include <math.h>
#include<stdio.h>
void wwjt();
double y(float x)
{
double z;
if(x>10) z=exp(x);
C语言试卷(含答案)
C语言试卷(含答案)
一、单项选择题(每小题2分,共40分)
1、sizeof(float)是()
A. 一个双精度型表达式
B. 一个整型表达式
C. 一种函数调用
D. 一个不合法的表达式
2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);
为了把100和分别赋给i和f,则正确的输入为()。
A. 100
B. i=100,f=765.12
C. 100<回车>
D. x=100y=
3、#include<>
voidmain()
{
inta=3,b=2,c=1;
intx=10,y=20;
if(a<b)< p="">
if(b!=0)
if(!x)
y=1;
elseif(x)
y=0;
y=-1;
printf("%d",y);
}
上面的C程序的输出结果是()。
A. 20
B. 1
C. 0
D. -1
4、C语言中,while和do…while循环的主要区别是()。
A. do…while的循环体至少无条件执行一次
B. while的循环控制条件比do…while的循环控制条件严格
C. do…while允许从外部转到循环体内
D. do…while的循环体不能是复合语句
5、执行下面的C程序段后,输出结果是()。inta=5; while(a--);
printf("%d",a);
A. 54321
B. 4321
C. 0
D. -1
6、在C语言中,()是在所有函数外部声明的。
A. 全局变量
B. 局部变量
C. 形参
D.实参
(完整版)C语言程序设计试卷及参考答案
《C语言程序设计》期末考试模拟试卷及参考答案(B)
2012.6.5整理
一、选择题(每题2分,共30分)
1、# include 〈stdio.h〉的结果是______
void main ( )
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int s=0,i;
for (i=0;i〈3;i++)
s+=(*(a+i))[i];
printf("%d",s);
}
A.9 B。12 C.14 D。15
参考答案—D
2、设有说明语句:char a= ’\123abc';则变量a __________
A. 包含7个字符
B.包含6个字符 C。包含5个字符 D。包含4个字符
参考答案-D 3、有以下程序段
int k=0
while(k=1)k++;
while 循环执行的次数是_____
A。无限次B。有语法错,不能执行 C。一次也不执行D。执行1次
参考答案—A
4、在C语言中,_____。
A。函数定义可以嵌套,但函数调用不能嵌套 B。函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和调用均不能嵌套 D.函数定义和调用均可以嵌套
参考答案—B 5、以下叙述正确的是________
A)do—while语句构成的循环不能用其它语句构成的循环代替.
B)do-while语句构成的循环只能用break语句退出。
C)用do—while语句构成的循环,在while后的表达式为非零时结束循环.
D)用do—while语句构成的循环,在while后的表达式为零时结束循环。
参考答案—D 6、以下关于函数叙述中,正确的是。
c语言试题及答案详解
一、选择题(7分,每小题0.5分)
1.C语言源程序的基本单位是( )。
A 过程
B 函数
C 子程序
D 标识符
2.下列程序的输出结果是( )。
main( )
{ int a=7,b=5;
printf("%d ",b=b/a);
}
A 5
B 1
C 0 D不确定值
3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是( )。
A 7
B 8
C 9
D 2
4.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。
a=125.534; a=(int)125.521%4; a=5<<2;
A 125,31,1
B 125,1,20
C 125,31,20
D 125.534,2,20
5.设有如下程序段,下面描述中正确的是( )。
int k=10; while(k=0) k=k-1;
A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次
6.以下程序的输出结果为( )。
int i;
void prt( )
{ for(i=5;i<8;i++) printf("%c",'*');
printf(" ");
}
main( )
{ for(i=5;i<=8;i++) prt( );
}
A ***
B *** *** *** ***
C *** ***
D * * *
7.在C语言程序中,以下说法正确的是( )。
A函数的定义可以嵌套,但函数的调用不可以嵌套
B函数的定义不可以嵌套,但函数的调用可以嵌套
C函数的定义和函数的调用都不可以嵌套
D函数的定义和函数的调用都可以嵌套
8.以下函数调用语句中含有( )个实参。
(完整版)C语言程序设计试卷及参考答案
《C语言程序设计》期末考试模拟试卷及参考答案(B)
2012.6.5整理
一、选择题(每题2分,共30分)
1、# include 的结果是______
void main ( )
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int s=0,i;
for (i=0;i<3;i++)
s+=(*(a+i))[i];
printf("%d",s);
}
A.9
B.12
C.14
D.15
参考答案—D
2、设有说明语句:char a= '\123abc';则变量a __________
A. 包含7个字符
B.包含6个字符
C. 包含5个字符
D. 包含4个字符
参考答案—D
3、有以下程序段
int k=0
while(k=1)k++;
while 循环执行的次数是_____
A. 无限次
B.有语法错,不能执行
C. 一次也不执行
D. 执行1次
参考答案—A
4、在C语言中,_____。
A.函数定义可以嵌套,但函数调用不能嵌套
B.函数定义不可以嵌套,但函数调用可以嵌套
C.函数定义和调用均不能嵌套
D.函数定义和调用均可以嵌套
参考答案—B 5、以下叙述正确的是________
A)do-while语句构成的循环不能用其它语句构成的循环代替。
B)do-while语句构成的循环只能用break语句退出。
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D)用do-while语句构成的循环,在while后的表达式为零时结束循环。
参考答案—D
6、以下关于函数叙述中,正确的是。
A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值
C语言期末考试题(含答案解析]
《C 语言程序设计》期末试卷
一、单项选择题(10x2’=20’)
1、以下叙述正确的是( )
A )C 语言的源程序不必通过编译就可以直接运行。
B )
C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C )C 语言源程序经编译形成的二进制代码可以直接运行。
D )C 语言中的函数不可以单独进行编译。
2、一个C 语言的源程序中( )
A )必须有一个主函数
B )可能有多个主函数
C )必须有除主函数外其它函数
D )可以没有主函数
3、以下不能定义为用户标识符的是( )
A )scanf
B )Void
C )_3com
D )int
4、若以下选项中的变量已正确定义,则正确的赋值语句是( )
A )x1=26.8%3;
B )1+2=x2;
C )x3=0x12;
D )x4=1+2=3;
5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2
1 的计算结果不.
相符的是( ) A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b)
6、C 语言中用于结构化程序设计的3种基本结构是( )
A )顺序结构、选择结构、循环结构
B )if 、switch 、break
C )for 、while 、do-while
D )if 、for 、continue
7.在while (!x )语句中的!x 与下面条件表达式等价的是( )
A) x!=0 B) x==1 C) x!=1 D) x==0
8、有以下程序:
#include <stdio.h>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言
一、选择题(第题2分,共20分)
1.一个C程序的执行是从 A 。
A) 本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C) 本程序文件的第一个函数开始,到本程序main函数结束
D) 本程序的main函数开始,到本程序文件的最后一个函数结束
2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。
x=(i=4,j=16,k=32)
A) 4 B) 16 C) 32 D) 52
3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。
A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647
4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。
A) float B) char C) int D) double
5. putchar函数可以向终端输出一个
D 。
A) 整型变量表达式 B) 实型变量值
C) 字符串 D) 字符或字符型变量值
6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。
A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出
C) 右对齐输出该字符串,左补空格 D) 输出错误信息
7.判断char型变量ch是否为大写字母的正确表达式是 C 。
A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’)
C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)
8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。
if(x>y) z=x; x=y; y=z;
A) x=10, y=20, z=30 B) x=20, y=30, z=30
C) x=20, y=30, z=10 D) x=20, y=30, z=20
9.以下程序段______C__.
x=-1;
do{
x=x*x;
}
while(!x);
A)是死循环 B)循环执行二次
C)循环执行一次 D)有语法错误
10.以下正确的描述是___B____.
A)continue语句的作用是结束整个循环的执行
B)只能在循环体内和switch语句体内使用break语句
C)在循环体内使用break语句或continue语句的作用相同
D)从多层循环嵌套中退出时,只能使用goto语句
二、填空题(每空2分,共20分)
1. C语言中,用关键字 int 定义基本整型变量,用关键字 float
定义单精度实型变量,用关键字 char 定义字符型变量。
2.表达式3*20/4%10的计算结果是 5 。
3.复合语句是将多个语句用花括号括起来组成一个语句。
4.程序中使用putchar( )函数和getchar( )函数,在程序的开头必须加上
char 。
5. C语言源程序文件名的后缀是 .c 。
6.从程序流程看,C语言程序分为3种基本结构,它们是顺序结构、
选择结构、循环结构。
三、改错题(每处1分,共5分)
下面的程序要求输出x和y的值,其中有5处错误,请找出并改正之:
(把改正后的完整的各个声明或语句直接写在原语句的右边)
#include
void main()
{ int x; int x,y;
scanf(“%d”,x) scanf(“%d”,&x);
y=2x+1;
printf(“x=%d,y=%d\n”); } printf(“x=%d\n,y=%d\n”,x,y); }
四、程序分析与程序填空题(每题5分,共10分)
(1) 1. 写程序,判断某一年是否为闰年。
闰年的条件是:①能被4整除,但不能被100整除的年份是闰年;②能被100整除,又能被400整除的年份是闰年
(年份:year;若闰年,令leap=1;非闰年,leap=0.)
请填空,完成下面的程序
#include
void main()
{
int year,leap;
scanf(“%d”,&year);
if(year%4==0)
{
(1) year%100==0
{
if(year%400==0)
(2) year%400==0
else
(3) leap=1
}
else
leap=1;
}
else
leap==0;
if( (4) leap )
printf(“%d is”,year);
else
prin tf(“%d is not”,year);
printf(“ a leap year.\n”);
}
2. 下面的程序输出9*9乘法表,请填空。
#include "stdio.h"
void main()
{ int i,j,result;
printf("\n");
for (i=1; (1) i<=9 ;i++)
{ for(j=1;j<=i;j++)
{
result=i*j;
printf("%d*%d=%-3d", (2) );
}
printf("\n\n");
}
printf("\n");
}
五、简答题(每题5分,共10分)
1. 简述字符常量'a'与字符串常量"a"有何区别?
'a'是字符型数据,"a"是字符串数据,分别用putchar和getchar输入。
2. 简述下列for语句的执行过程:
for(e1;e2;e3)
语句A;
(1) 先求解表达式e1
(2) =求解表达式e2,若值为真,则执行for语句中指定的内嵌语句,然后执行第(3)步,若假,则结束循环,转到第(5)步。
(3) 求解表达式e3
(4) 转回上面第(2)步继续执行
(5) 循环结束,执行下个for语句的执行
六、程序设计题(1题5分,2题10分,3题10分,4题10分)
1. 输入一个华氏温度,要求输出相应的摄氏温度。(保留两位小数)