C语言程序设计试题及答案5.doc
文本预览下载声明
C语言程序设计 试题及答案(五)
学号: 学习中心名称: 专业: 层次: 姓名:
题号 一 二 三 四 五 六 七 八 九 十 总分 得分 注意:所有答案都要写在答题卡上
一、单项选择题(20分,每题2分)
1.程序段 C
int *p,a;
p=a;
a=10;
printf(%d,p);
的输出应为:
A)10 B)0 C)不能确定 D)语法错误
2.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A
A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式
3.以下语句或语句组中,能正确进行字符串赋值的是。D
A)char *sp;*sp=right!; B)char s[10];s=right!;
C)char s[10];*s=right!; D)char *sp=right!;
4.for(i=0;i10;i++) A
if(i〈=5) break;
则循环结束后i的值为
A)0 B)1 C)5 D)10
5.有以下程序
main()
{
int m,n,p;
scanf(m=%dn=%dp=%d,m,n,p);
printf(%d%d%d\n,m,n,p);
}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是。A
A)m=123n=456p=789 B) m=123 n=456 p=789
C)m=123,n=456,p=789 D)123 456 789
6.C语言中,最基本的数据类型包括:C
A)整型、实型、逻辑型 B)整型、字符型、数组
C)整型、实型、字符型 D)整型、实型、结构体
7.以下说法正确的是C
A) C程序总是从第一个定义的函数开始执行
B) 在C程序中,要调用的函数必须在main()函数中定义
C) C程序总是从main()函数开始执行
D) C程序的main()函数必须放在程序的开始部分
8.程序段B
int *p, a=1;
p=a;
*p=10;
a的值为:
A) 1 B) 10 C) 不能确定 D) 11
9.以下定义语句中,错误的是 D
A) int a[]={1,2}; B) char *a[3];
C) char s[10]=test; D) int n=5,a[n];
10.假定int类型变量占用两个字节,有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是 D
A) 3 B) 6 C) 10 D) 20
二、填空题(30分,每空2分)
1.已知字符A的ACSII码值为65,以下语句的输出结果是 66 。
char ch=’B’;
printf(%c %d\n,ch,ch);
2.’a’在内存中占 1 个字节,”a”在内存中占 2 个字节。
3.若有int a[3][2] = {{1},{3,2},{4,5}};,则a[1][1]的值是 2 。
4.有以下程序,执行后输出结果是 0 。
main( )
{
int t=1,i=5;
for(;i=0;i--) t*=i;
printf(%d\n,t);
}
5.在循环语句中,break语句的作用是 跳出循环体 ,continue语句的作用是 跳过循环体中剩余的语句而强行执行下次循环 。
6.下面程序段将字符数组b连接到数组a的后面。
main()
{
char a[20]= .I am ;
char b[]= .a student.;
int i, j;
i = strlen(a);
for(j =__0___; b[j]!=\0; j++)
{
a[__i+j _] = b[__j __];
}
a[___i+j __] = ___\0___ ;
}
7.for(表达式1;表达式2;表达式3)
语句组
的执行顺序是先求解表达式1、再___判断表达式2_____、如果成立则执行___语句组____、然后___求解表达式3______。
三、写出程序的运行结果(30分,每题10分)
1.写出程序运行后的输出结果。
int f(int b[][4])
{
int i,j,s=0;
for(j=0;j4;j++)
{
i=j;
if(i2)
i=3-j;
s+=b[i][j];
}
return s;
}
main( )
{
int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf(%d\n,f(a));
}
答:
1. 16
2. 0.500000
2.写出程序运行后的输出结果
#include stdio.h
main()
{
float x=2,y;
if(x0)
y=0;
else if(x10)
y=1/x;
else
显示全部