西安石油大学历年C语言程序设计期末题库
本试卷为西安石油大学历年C语言程序设计期末题库,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言程序设计期末题库
一、单项选择题 (共50题,每题2分,共计100分)
( A )
1、以下关于typedef的叙述错误的是________。
( C )
2、下列叙述中正确的是________。
( D )
3、vc 6.0中int类型变量所占字节数是________。
( D )
4、若变量c为char类型,能正确判断出c为小写字母的表达式是________。
( D )
5、三种基本结构中,能简化大量程序代码的是________。
( C )
6、设变量a、b、e、d和y都已正确定义并赋值。若有以下if语句: if(a<b) if(c==d) y=0; else y=1; 该语句所表示的含义是________。
( C )
7、下面程序段的运行结果是________. int n=0; while(n++<=2); printf("%d",n);
( C )
8、计算机内部运算使用的数是________。
( D )
9、在下列选项中,没有构成死循环的程序段是________。
( C )
10、c语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符:
( B )
11、有以下程序
main( )
{
int x=0,y=5,z=3;
while(z-->0&&++x<5) y=y-1;
printf("%d,%d,%d\n",x,y,z);
}
程序执行后的输出结果是________。
( C )
12、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是________。
( B )
13、以下程序的输出结果是
#include <stdio.h>
main()
{
int i=0,a=0;
while(i<20)
{
for(;;)
{
if((i%10)==0) break;
else i--;
}
i+=11;
a+=i;
}
printh("%d\n",a);
}
( A )
14、c 语言的基本构成单位是: 。
( A )
15、以下不能正确赋值的是______。
( C )
16、如有说明 : char s1[5],s2[7]; 要给数组 s1 和 s2 整体赋值 , 下列语句中正确的是 __________.
( D )
17、以下数组定义中不正确的是 __________.
( A )
18、以下叙述中正确的是________。
( D )
19、设int a=0; 错误的语句是________。
( A )
20、若在以下定义和赋值语句,则才s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为 int s[2][3]=0,( *p)[3]; p=s;
( B )
21、下列语句序列执行后,x的值是________。 int a=3,b=4,x=5; if (++ a==b)x=++a*x;
( D )
22、下面对二维数组array的定义,正确的是________。
( D )
23、下列关于标识符的说法中错误的是________。
( D )
24、能正确表示逻辑关系"a>=10或a<=0"的c语言表达式是________。
( A )
25、下列属于条件运算符的是________。
( B )
26、下列不属于简单数据类型的是________。
( C )
27、若有说明语句:int i,x[3][4]; 则不能将x[1][1]的值赋给变量i的语句是______。
( D )
28、下列字符串中,不可以用作c标识符的是________。
( C )
29、下列程序执行后的输出结果是
void func1(int i);
void func2(int i);
char st[]="hello,friend!";
void func1(int i)
{
printf("%c",st[i]);
if(i<3)
{
i+=2;
func2(i);
}
}
void func2(int i)
{
printf("%c",st[i]);
if(i<3)
{
i+=2;
func1(i);
}
}
{
int i=0;
func1(i);
printf("\n");
}
( D )
30、以下程序的输出结果是________。
#include<stdio.h>
void main( )
{
int k=17;
printf("%d,%o,%x\n",k,k,k);
}
( D )
31、判断字符串s1是否大于字符串s2,应当使用 。
( B )
32、有如下程序
#define N 3
#define M N+2
#define NUM 2*M+1
main()
{
int i;
for(i=1;i<=NUM;i++)printf("%d\n",i);
}
该程序中的for循环执行的次数是______。
( B )
33、若有说明:inta,b=2,*p=&a; 则能完成a=b赋值功能的语句是______。
( D )
34、有以下程序
main()
{
int p[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7&&p[i]%2)
{
k=k+p[i];
i++;
}
printf("%d\n",k);
}
执行后输出的结果是______。
( D )
35、假定int类型变量占用4个字节,若有定义:int x[10]= {0,2,4}则数组x在内存中所占字节数是______。
( D )
36、有以下程序
main(int argc,char *argv[])
{
int n=0,i;
for(i=1;i<argc;i++) n=n*10+*argv[i]-'0';
printf("%d\n",n);
}
编译连接后生成可执行文件tt.exe。若运行时输入以下命令行tt 12 345 678程序运行后的输出结果是______。
( D )
37、有以下程序
typedef struct
{
int b,p;
}
a;
void f(a c) /* 注意:c是结构变量名 */
{
int j;
c.b+=1;
c.p+=2;
}
main()
{
int i;
a a={1,2};
f(a);
printf("%d,%d\n",a.b,a.p);
}
程序运行后的输出结果是______。
( C )
38、使下列程序段输出"123,456,78",键盘输入数据,正确的输入是________ 。 int i,j,k scanf("%d,%3d%d",&i,&j,&k);
printf("%d,%d,%d\n",i,j,k);
( C )
39、流程图中判断框是用( )图形来表示的
( D )
40、按照c语言规定的用户标识符命名规则,不能出现在标识符中的是________。
( B )
41、关于循环体while的说法下列正确的是________。
( C )
42、在c语言的函数中,下列正确的说法是________。
( D )
43、在c语言中,char型数据在内存中的存储形式是________。
( C )
44、设 char *s="\ta\017bc"; 则指针变量s指向的字符串所占的字节数 是________。
( A )
45、设变量定义为"int x, *p=&x; ",则&(*p)相当于
( C )
46、定义结构体的关键字是________。
( A )
47、下面叙述中错误的是________。
( C )
48、关于return语句,下列正确的说法是________。
( D )
49、以下可作为函数fopen中第一个参数的正确格式是________。
( A )
50、在C语言中,下面那种数据类型不属于构造类型____
相关标签:
- C语言
- 西安石油大学
- 期末题库