中国人民公安大学2022年C语言程序设计期末模拟考试
本试卷为中国人民公安大学2022年C语言程序设计期末模拟考试,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言程序设计期末模拟考试
一、单项选择题 (共50题,每题2分,共计100分)
( D )
1、下列程序执行后的输出结果是________。
main()
{
int a[3][3],*p,i,j;
p=&a;
for(i=p;i<9;i++)p[i]=i-i+1;
printf("%d\n",a[1][2]);
}
( B )
2、若有以下定义和语句:"double r=99,*p=&r; *p=r;",则以下正确的叙述是________。
( B )
3、结构化程序所要求的基本结构不包括( )。
( A )
4、c语言中,合法的字符型常数是________。
( B )
5、struct ex
{
int x ;
float y;
char z ;
}
example;
则下面的叙述中不正确的是________。
( C )
6、设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句: if(a<b) if(c==d)y=0; else y=1; 该语句所表示的含义是________。
( D )
7、有以下程序:
main()
{
int i,n=0: for(i=2;i<5;i++)
{
do
{
if(i%3) continue: n++;
}
while(!i);
n++;
}
printf("n=%d\n",n);
}
程序执行后输出结果是________。
( B )
8、下列数据中为字符串常量的是________。
( C )
9、函数pi的功能是根据以下近似公式求π值: (π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n) 请填空,完成求π的功能。
#include <math.h>
main( )
{
double s=0.0;
long int i,n;
scanf("%ld",&n);
for(i=1;i<=n;i++) s=s+________ ;
s=(sqrt(6*s));
printf("s=%e",s);
}
( A )
10、有以下程序
#include <stdio.h>
main()
{
int c;
while ((c=getchar())!='\n')
{
switch(c-'2')
{
case 0: case 1: putchar(c+4);
case 2: putchar(c+4);
break;
case 3: putchar(c+3);
default: putchar(c+2);
break;
}
}
printf("\n");
}
从第一列开始输入以下数据,<cr>代表一个回车符。 2473<cr> 程序的输出结果是________。
( B )
11、以下能正确定义一维数组的选项是________。
( A )
12、程序段:int x=12; double y=3.141593; printf("%d%8.6f",x,y); 的输出结果是________。
( A )
13、有以下程序
#include <stdio.h>
#include <string.h>
void fun(char *s[ ],int n)
{
char *t;
int i,j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strlen(s[i])>strlen(s[j]))
{
t=s[i];
s[i]=s[j];
s[j]=t;
}
}
main()
{
char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};
fun(ss,5);
printf("%s,%s\n",ss[0],ss[4]);
}
程序的运行结果是________。
( B )
14、设 p1 和 p2 是指向同一个 int 型一维数组的指针变量, k 为 int 型变量,则不能正 确执行的语句是______。
( B )
15、设有如下定义:
struct sk
{
int a ;
float b ;
}
data , *p ;
若有 p=&data ;
, 则对 data 中的 a 域的正确引用是______。
( D )
16、在下列选项中 , 不正确的赋值语句是 __________.
( B )
17、若 i 为整型变量 , 则以下循环语句的循环次数是 ____. for(i=2;i==0;) printf("%d",i--);
( C )
18、已知函数fread.的调用形式为fread(buffer,size,count,fp); ,其中buffer代表的是________。
( B )
19、在一个c语言程序中,________。
( A )
20、下列定义语句中,错误的是________。
( D )
21、一个汉字的内码长度为2个字节,其每个字节的最高二进制位的值依次分别是______。
( C )
22、若调用一个函数,且此函数中没有return语句,则正确的说法是该函数________。
( B )
23、在以下各标识符中,合法的用户标识符是________。
( B )
24、若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是________。
( C )
25、在标准ascⅱ编码表中,数字码、小写英文字母和大写英文字母的前后次序是________。
( A )
26、有以下程序:
void fun(int*a,int i,int j) {
int t;
if(i<j) t=a[i];
a[i]=a[j];
a[j]=t;
fun(a,++i,--j);
}
main() {
int a[]=1,2,3,4,5,6,i;
fun(a,0,5);
for(i=0;i<6;i++) printf("%d",a[i]);
}
执行后的输出结果是 ______。
( A )
27、下列程序的执行结果是 ______。
#include<stdio.h>
union un {
int i;
char c[2];
}
void main() {
union un x;
x.c[0]=10;
x.c[1]==1;
printf("\n%d",x.i);
}
( B )
28、x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是________。
( B )
29、关于二进制的说法中,正确的是________。
( B )
30、设ch是char型变量,其值为c,且有下面的表达式ch=(ch>='a'&&ch<='z')?(ch-32):ch上面表达式的值是______。
( C )
31、下面各语句行中,能正确进行给字符串赋值操作的语句行是______。
( B )
32、若要打开a盘上的user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是______。
( B )
33、数组定义为 int a[3][2]={ 1, 2, 3, 4, 5, 6 },数组元素( )的值为6。
( D )
34、若有int *p1, *p2,k; 不正确的语句是________。
( C )
35、假定double类型变量占用8个字节,且数组定义如下,则数组length在内存中所占字节数是________。double length [10];
( A )
36、设有结构体的定义如下:
struct data
{
char c1;
char c2;
}
;
则sizeof(struct data)的值是________。
( A )
37、已知 int i,a; 执行语句"i=(a=2*3,a*5),a+6; "后,变量a的值是________。
( A )
38、以下叙述中正确的是________。
( B )
39、c语言源程序的基本单位是________。
( B )
40、以下叙述中不正确的是________。
( B )
41、下列程序的输出结果是________。
main()
{
char c1=97,c2=98;
printf("%d %c",c1,c2);
}
( D )
42、若int类型数据占两个字节,则下列语句的输出为________。 int k=-1; printf("%d,%u\n",k,k);
( D )
43、使用共用体变量,不可以________。
( A )
44、指针变量p进行自加运算(即 执行p++;)后,地址偏移值为4,则其 数据类型为________。
( B )
45、字符串指针变量中存入的是________。
( C )
46、在以下定义中,标识符p________。 int (*p)[3];
( C )
47、若有说明:int *p1,*p2,m=5,n; 以下均是正确赋值语句的选项是________。
( D )
48、在c 语言中,能表示无符号长整型常数的是________。
( B )
49、将三个数排序需要比较________次。
( C )
50、以下选项中合法的实型常数是()。
相关标签:
- C语言
- 中国人民公安大学
- 期末模拟考试