班号姓名哈工大200年季学期
C语言 考试题
题号一二三四五六七八九十总分附加题分数说明:
注意行为规范,遵守考试纪律!一、填空题
1.设有下列登记表,采用最佳方式类型。
其中,配偶姓名用spouseName表示,子女人数用children表示。
2.C语言中数据类型包括 、 。._______表示逻辑值“假”,用________表示逻辑值“真”。.char *__ ___ _ _ 。
二、判断下列问题描述正确与否,正确的打√”,错误的打“×”。(分 每题分)
1.。( )
2.在C语言中,用typedef定义一种新的类型。( )
3.。( )
4.( )、选择题:(分,每题分)
.若用数组名作为函数调用时实参,则实际上传递给形参的是( )。
A.数组首地址 B. 数组的第一个元素值
C.数组中全部元素的值 D. 数组元素的个数
.判断两个字符串s1和s2相等,应当使用( )。
A.if (s1 == s2) B. if (s1 = s2)
C.if (!strcmp(s1,s2)) D. if (strcmp(s1,s2))
3.在while(x)语句中的x与下面条件表达式等价的是: 。
A. x=0 B. x==1 C. x!=1 D. x==0
4.二维数组a有m列,则在a[i][j]之前的元素个数为。
j*n+i B. i*n+j C. i*n+j-1 D. i*n+j+1
5.设有声明语句:int a=1,b=0;则执行以下语句后输出为: 。
switch (a)
{
case 1:
switch (b)
{
case 0: printf("**0**");break;
case 1: printf("**1**");
break;
}
case 2: printf("**2**");
break;
}
A)**0** B) **0****2**
C)**0****1****2** D) 有语法错误、出下列程序的运行结果(6分,每题分)
.#includeun(int *y)
{
printf("*y = %d\n", *y);
*y = 20;
printf("*y = %d\n", *y);
}
main()
{
int x = 10;
printf("x = %d\n", x);
Fun(&x);
printf("x = %d\n", x);
}
运行结果:.#include int Fun(int x)
{
static int y = 0;
y += x;
return y;
}
main()
{
int x = 10, y = 0, k;
for(k=0; k<2; k++)
{
y = Fun(x);
printf("y = %d\n", y);
}
}
运行结果是:#include
main ( )
{
char a[] = "programming" , b[] = "language" ;
char *p1, *p2 ;
int i;
p1 = a;
p2 = b;
for (i=0; i<7; i++)
{
if (*(p1+i) == *(p2+i))
printf("%c" ,*(p1+i)) ;
}
printf("\n");
}
运行结果是:、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(分,每空分)
面这个程序用于读入5个整数显示,,。#include
main()
{
int i, n;
for (i=1; i<=5; i++)
{
printf("Please enter n:");
scanf("%d", &n);
if (n <= 0) _____________;
printf("n = %d\n", n);
}
printf("Prog