内蒙古科技大学历年C语言期末题库
本试卷为内蒙古科技大学历年C语言期末题库,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
C语言期末题库
一、单项选择题 (共20题,每题2分,共计40分)
( B )
1、若有定义:"int*p,x=0,*p,p=&x;",则语句"printf("%d\n",*p);"的输出结果是________。
( C )
2、关于结构化程序设计原则和方法的描述错误的是________。
( D )
3、c语言语句一行写不下时,可以( )。
( A )
4、以下程序的输出结果是 f(int b[],int m,int n) { int i,s=0; for(i=m;i<n;i=i+2) s=s+b[i]; return s; } main() { int x,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf("%d\n",x); }
( A )
5、以下函数调用语句中实参的个数为 。 exce((v1,v2),(v3,v4,v5),v6);
( C )
6、若有以下定义和语句,且 0 ≤ i<10 则对数组元素的错误引用是______。 int a[10]= { 1,2,3,4,5,6,7,8,9,10 },*p,i; p=a;
( C )
7、以下程序的输出结果是________。 #include <stdio.h> void swap(int*a, int *b) { int*t; t=a; a=b; b=t; } main() { int i=3, j=5, *p=&i, *q=&j; swap(p, q); printf(1%d %d , *p, *q); }
( D )
8、以下正确的定义语句是________。
( C )
9、以下不合法的数值常量是________。
( C )
10、有以下程序 main() { int i; for(i=1;i<=40;i++) { if(i++%5==0) if(++i%8==0) pfintf("%d",i); } printf("\n"); } 执行后的输出结果是________。
( C )
11、有以下程序 #include<stdio.h> main () { int i, j, x = 0; for (i = 0; i < 2; i++) x++; for (j = 0; j <= 3; j++) { if (j % 2) continue; x++; x++; } printf ("x=%d\n", x); } 程序执行后的输出结果是______。
( A )
12、以下程序的运行结果是 #include"stdio.h" main() { struct date { int year, month, day ; } today; printf("%d\n",sizeof(struct date)); }
( B )
13、设有如下定义: struct sk { int a; float b; } data,*p; 若有p=&data; 则对data中成员a的引用正确的是________。
( D )
14、以下程序的输出结果是______。 struct har { int x,y; struct har *p; } h[2]; main() { h[0].x=1; h[0].y=2; h[1].x=3; h[1].y=4; h[0].p=&h[1]; h[1].p=h; printf("%d%d\n",(h[0].p)->x,(h[1].p)->y); }
( B )
15、已有定义:char c; 不能用于判断c中的字符是否为大写字母的表达式是______。
( D )
16、已知字符 'a' 的ascii码为 97,执行下列语句的输出是____。
( D )
17、函数调用结束后,形式参数( )
( B )
18、若有下列定义,则对a数组元素地址的正确引用是________。 int a[5],*p=a;
( C )
19、有定义:char **p1,*p2; 则下列表达式中正确合理的是________。
( B )
20、以下语句中,不能实现回车换行的是()。
二、填空题 (共10题,每题2分,共计20分)
1、c语言约定用____________作为字符串的结束标志。
2、在c语言中,用转义字符 \' 表示______________。答题提示:双引号/单引号/反斜线/横向跳格/回车换行
3、在c语言中,标识符是由英文字母、数字、________组成的。
4、若有定义:int a=3; 表达式a/2.0+'b'-'a'的值是【1】。
5、局部变量的作用域是从定义的位置起,到( )结束止。
6、以下程序的输出结果是________。 main() { int x; printf("%d\n",(x=2*4,x+5)); }
7、下列程序段的运行结果是________。 main() { int n,s=0; for(n=1; n<=5; n++) { if(n%2!=0) continue; s=s+i; } printf("%d\n",n); }
8、如果一个变量要在一个程序中的所有函数都能共享,则应该定义成为________。
9、以下程序的输出结果是 ________。 #include<stdio.h> main() { int a[5]={2,4,6,8,10}, *p; p=a; p++; printf("%d",*p); }
10、break语句通常用于______中。
三、编程题 (共3题,每题0分,共计40分)
1、编写程序: 输出9*9口诀。
2、有一包含职工编号、年龄和性别的单向链表,分别使用函数完成以下功能 建立链表。 分别统计男女职工的人数。 在链表尾部插入新职工。 删除指定编号的职工。 删除60岁以上的男职工和55岁以上的女职工被删除的结点保存到另一个链表 中。在主函数中设计简单的菜单去调用上述函数。
3、给定一个只包括 '(',')','{','}' 字符的10位长度的字符串s,编写一个函数判断字符串是否顺序闭合。例如:'()[]()[]()[]()[]()[]'为true, '(](](](](]'为false
相关标签:
- C语言
- 内蒙古科技大学
- 期末题库