内蒙古科技大学历年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语言
- 内蒙古科技大学
- 期末题库