新疆农业大学往年C语言程序设计期末样卷
本试卷为新疆农业大学往年C语言程序设计期末样卷,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
C语言程序设计期末样卷
一、单项选择题 (共20题,每题2分,共计40分)
( A )
1、与 y=(x>0?1:x<0?-1:0); 的功能相同的if语句是________。
( D )
2、以下叙述中正确的是________。
( A )
3、c语言结构体类型变量在程序执行期间,________。
( C )
4、若有定义"float a=25,b,*p=&b;",则下列对赋值语句"*p=a;"和"p=&a;"的正确解释为( )。
( C )
5、以下选项中不合法的用户标识符是________。
( C )
6、以下叙述正确的是 。
( B )
7、以下程序的输出结果是
main()
{
char cf[3][5]={"aaaa","bbb","cc"};
printf("\"%s\"\n",ch[1]);
}
( D )
8、程序段如下:则以下说法中正确的是:
int k=5;
do
{
k--;
}
while(k<=0);
( A )
9、程序中有下面的说明和定义
struct abc
{
int x ;
char y ;
}
struct abc s1 , s2 ;
则会发生的情况是______。
( A )
10、下面不是c语言整型常量的是________。
( A )
11、下面关于形参与实参的说法,正确的是________。
( B )
12、串是任意有限个 (46) 。
( C )
13、下面程序的输出结果是
#include<stdio.h>
main()
{
int a[]=1,2,3,4,5,6,7,8,9,0,*p;
p=a;
printf("%d\n",*p+9);
}
( D )
14、以下正确的字符串常量是________。
( D )
15、以下关于排序算法的叙述中,正确的是________。
( B )
16、设a=5、b=6、c=10、d=8、m=2、n=5,执行(m=a>b)&&(n=c>d)后n的值为______。
( A )
17、以下程序结果为:______。
void add( )
{
static int x=3;
x++;
printf("%d",x);
}
main( )
{
int i;
for(i=0;i<3;i++)add( );
}
( B )
18、运行下述程序段后, i 值为4 的是________。
( D )
19、有字符数组a[80]和b[80],则正确的输出语句是________。
( B )
20、设 p1 和 p2 是指向同一个字符串的指针变量,c 为字符变量,则以下不能正确执行的赋值语句是()。
二、判断题 (共10题,每题2分,共计20分)
( T )
1、字符串常量是由一对双引号括起来的字符序列。
( T )
2、c语言中sizeof为运算符。
( T )
3、c语言中简单变量作为实参时,它和对应的形参之间的数据传递方式是单向值传递。
( T )
4、函数形参的存储单元是动态分配的。
( F )
5、一个数组是由连续的一块内存单元组成的,指针变量就是这块连续内存单元的首地址
( T )
6、某文件中定义的静态全局变量的作用域是本文件。
( T )
7、c 语言具有简洁明了的特点。
( F )
8、在switch 语句中必须使用break 语句
( T )
9、选择结构( if 语句)和循环结构都可以使用嵌套形式
( T )
10、指针变量,只能作为函数的形参,不可以作函数的实参
三、填空题 (共5题,每题4分,共计20分)
1、字符串函数___________用于把一个字符串写入指定的磁盘文件中。
2、语句主要是实现次数循环结构,while语句主要是实现当型循环结构。
3、局部变量的作用域是从定义的位置起,到( )结束止。
4、输入求数组有几个元素的语句(arr,size)
5、C标准库函数中,字符串的处理函数包含在______头文件中,数学函数包含在math.h头文件中。
四、程序分析题 (共4题,每题5分,共计20分)
1、有以下程序
main()
{
char c;
while((c=getchar())!='?') putchar( --c );
}
程序运行时,如果从键盘输入:ydg?n?<回车>,则输出结果为 ________ 。
2、有以下程序
#include <string.h>
main()
{
char a[]={'a','b','\0'};
int j;
j=strlen(a);
printf("%d\n",j);
}
程序运行后的输出结果是________。
3、以下程序的运行结果是________。
main()
{
int a = 2, b = 3, c;
c = a;
if (a > b) c = 1;
else if (a == b) c = 0;
else c = -1;
printf("%d\n", c);
}
4、当运行以下程序时,从键盘输入1 2 3 4 5 -1<cr>, 则下面程序的运行结果是________。
#include <stdio.h>
main()
{
int k = 0, n;
do
{
scanf("%d", &n);
k += n;
}
while (n != -1);
printf("k=%d n=%d\n", k, n);
}
五、编程题 (共3题,每题0分,共计50分)
1、编程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入当输入数据为-1时表示输入结束,使用结构体实现。
2、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
3、给定一个只包括 '(',')','{','}' 字符的10位长度的字符串s,编写一个函数判断字符串是否顺序闭合。例如:'()[]()[]()[]()[]()[]'为true, '(](](](](]'为false
相关标签:
- C语言
- 新疆农业大学
- 期末样卷