哈尔滨工业大学(威海)2011/2012学年春季学期
C语言程序设计 笔试试题(A卷)
题号 | 一 | 二 | 三 | 四 | 五 | 六 | 笔试(70%) | 综合 (30%) | 总分 |
分数 | |||||||||
c语言用递归函数求n的阶乘 |
号
学
名
姓
试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;
2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;
3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;
4. 答题时间105分钟。
一、单项选择题。请把答案填入下面框中,
不允许出框线。(本题16分,每小题1分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
答案 | ||||||||
题号 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
答案 | ||||||||
注意行为规范
遵守考试纪律
1. 下面程序的输出是______。main()
{ int x=10,y=3;
printf("%d\n",y=x/y); }
A) 0 B) 1 C) 3 D) 不确定的值
2. 下列函数的功能是______。
int fun1(char *x)
{ char *y = x;
while(*y++);
return(y-x-1); }
A) 求字符串的长度 B) 将字符串X连接到字符串Y后面
教研室主任签字:
C) 将字符串X复制到字符串Y D) 比较两个字符串的大小3. 以下对C语言函数的有关描述中,正确的是______。
A) C程序中有调用关系的所有函数必须放在同一个源程序文件中
B) C函数既可以嵌套定义又可以递归调用
C) 调用函数时,实参的值传送给形参
D) 函数必须有返回值
4. 若用数组名作为函数调用的实参,传递给形参的是______。
A) 数组的首地址 B) 数组第一个元素的值
C) 数组中全部元素的值 D) 数组元素的个数
5. 若有以下定义,则p+5表示_______.
int a[10],*p=a;
A) 元素a[5]的地址 B) 元素a[5]的值
C) 元素a[6]的地址 D) 元素a[6]的值
6. 以下选项中,与k=n++完全等价的表达式是_______。
A) n=n+1,k=n B) k=n,n=n+1 C) k=++n D) k+=n+1
7. 如果在一个函数中的复合语句中定义了一个变量,则该变量_______。
A) 只在该复合语句中有效 B)在该函数中有效
C) 在本程序范围内均有效 D)为非法变量
8. 定义一个结构体变量时,系统分配给它的内存大小是_______。
A)成员中占内存量最大者所需的容量
B)各成员所需内存量的总和
C)结构中第一个成员所需内存容量
D)结构中最后一个成员所需内存容量
9. 在C程序中,使用结构体的目的是______。
A)将一组相关的数据作为一个整体,以便程序使用。
B)将一组相同数据类型的数据作为一个整体,以便程序使用。
C)将一组数据作为一个整体,以便其中的成员共享存储空间。
D)将一组数值一一列举出来,该类型变量的值只限于列举的数值范围内。
10. 判断字符串s1与字符串s2相等,应当使用______ 。
A) if (s1 = s2)
B) if (strcmp(s1, s2))
C) if (!strcmp(s1, s2))
D) if (strcmp(s1, s2) = 0)
11. 若有定义int *p[4],则标识符p是一个______ 。
A)指向整型变量的指针变量
B)指向函数的指针变量
C)指向有四个整型元素的一维数组的指针变量
D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针
12. 设有以下定义:
int a[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int (*ptr)[3] = a, *p = a[0];
则以下能够正确表示数组元素a[1][2]的表达式是______ 。
A) *((*ptr + 1)[2])
B) *(*(p + 5))
C) (*ptr + 1)
D) *(*(a + 1) + 2)
13. 凡是在函数中未指定存储类别的局部变量,其隐含的存储类别是________。
A)静态(static) B)外部(extern)
C)自动(auto) D)寄存器(register)
14. 以下错误的描述是________ 。
A) 不同的函数中可以使用相同名字的变量,互不干扰
B) 形式参数都是局部变量
C) 一个C程序只包含一个函数
D) C语言中的函数参数传递都是单向值传递
15. 以下对二维数组进行正确初始化的是________。
A)int a[2][3]={{1,2},{3,4},{5,6}};
B)int a[2][]={1,2,3,4,5,6};
C)int a[][3]={1,2,3,4,5,6};
D)int a[2][]={{1,2},{3,4}};
16. 设有如下定义:
struct st
{
int a;
float b;
}st1, *pst;
若有pst = &st1; 则下面引用正确的是________。
A) (*pst.st1.b) B) (*pst).b
C) pst->st1.b D) pst.st1.b
二、填空题。请按序号把答案填入下面框中,
不允许出框线。(本题20分,每空2分)
题号 | 答 案 | 题号 | 答 案 |
1 | 6 | ||
2 | 7 | ||
3 | 8 | ||
4 | 9 | ||
5 | 10 | ||
1. 下面程序的功能是要把1~90之间的不能被3整除的数输出。请补全。
main()
{
int n;
【1】
{
if (n%3==0)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论