南京师范大学计算机考试(C语言)(试卷1)

  • 格式:doc
  • 大小:67.50 KB
  • 文档页数:10

201507 南京师范大学计算机考试(C语言)

(试卷1)

【程序设计理论】

1.[题号:1](单选题) 分值:2

下列四个选项中,属于C语言关键字的是__________。

A. Float

B. single

·

C. double

D. real

【答案:C 】

2.[题号:2](单选题) 分值:2

某程序需要使用一个代表常数的符号常量名P,以下定义中正确的是__________。

A. #define P ;

B. #define P

C. #define P=;

D. #define P

【答案:D 】

3.[题号:3](单选题) 分值:2

以下关于if语句和switch语句的叙述中错误的是__________。

A. if语句和switch语句都可以实现算法的选择结构

B. if语句和switch语句都能实现多路(两路以上)选择

C. if语句可以嵌套使用

D. switch语句不能嵌套使用

【答案:D 】

4.[题号:4](单选题) 分值:2

以下叙述中错误的是__________。

!

A. 在函数外可以声明变量

B. 变量声明的位置决定了该变量名的使用范围

C. 函数调用时在函数内声明的变量所得到的值将无法保存到该函数的下一次调用

D. 在函数外声明的变量,其值可以保存到该程序运行结束

【答案:C 】

5.[题号:61](单选题) 分值:2

有如下程序段:

char p1[80]= "NanJing",p2[20]= "Young",*p32="Olympic”;

strcpy(p1,strcat(p2,p3)); printf(“%s\n”,p1);

执行该程序段后的输出是__________

;

A. NanJingYoungOlympic

B. YoungOlympic

C. Olympic

D. NanJing

【答案:B 】

6.[题号:62](单选题) 分值:2

已有声明”int x,a=3,b=2;”,则执行赋值语句”x=a>b++a++:b++;”后,变量x、a、b的值分别为__________ 。

:

A. 3 4 3

B. 3 3 4

C. 3 3 3

D. 4 3 4

【答案:A 】

7.[题号:63](单选题) 分值:2

已有预处理命令"#include <>"和声明"int a=4,b;".以下语句中语法正确的是__________。

A. if(a%2=1) b=a;

B. if(sqrt(a)%2)b=a;

C. if(a==1)b=a;

D. if(a==1)b=*a;

【答案:C 】

8.[题号:64](单选题) 分值:2

已有如下定义和声明:

struct data{int a;char b;float c;} s={1,2,3};

char m;

以下语句中正确的是__________。

A. s=5;

B. s={4,5,6};

C. =5;

D. m=s;

【答案:C 】

`

9.[题号:65](单选题) 分值:2

已有声明"int *p;",若用语句"p=(int *)malloc(20 *sizeof(int));"动态申请一个int型数组存储区,则p所指向的数组中可存储__________个int型数据。

A. 10

B. 20

C. 40

D. 80

【答案:B 】

>

10.[题号:66](单选题) 分值:2

已有声明"int x=0,*p;",则以下赋值表达式中正确的是__________ 。

A. p=x;

B. *p= *x;

C. &p=&x;

D. p=&x;

【答案:D 】

]

11.[题号:67](单选题) 分值:2

&&、+、>=、[]是C语言中的四个运算符,其中优先级最高的是__________ 。

A. []

B. &&

C. +

D. >=

【答案:A 】

12.[题号:68](单选题) 分值:2

假定指针变量p指向对象的值为16, p+1指向对象的值为35,则 *p++的值为__________ 。

A. 15

B. 16

C. 17

D. 18

【答案:B 】

$

13.[题号:69](单选题) 分值:2

在系统头文件中定义的符号常量NULL代表的数值(整数)是__________ 。

A. -1

B. 1

C. 0

D.

【答案:C 】

~

14.[题号:70](单选题) 分值:2

以下程序运行时输出到屏幕的结果是__________。

#include<>

void main()

{ int a=011;

printf("%d",a);

}

A. 6

B. 7

"

C. 8

D. 9

【答案:D 】

15.[题号:71](单选题) 分值:2

用系统库函数fprintf写到磁盘文件中的数据通常应当用系统库函数__________读出。

A. fscanf

B. sscanf

C. fgets

D. fread

【答案:A 】

16.[题号:72](填空题<1空>) 分值:2

下程序运行时,输出到屏幕的结果是__________。

#include<>

int main()

{ int a=6,b=15,t=a;

while(t%b!=0) t+=a;

printf("%d",t);

return 0;

}

【答案:】

[第1空答案1]:(分值:2)

30

17.[题号:73](填空题<1空>) 分值:2

$

以下程序运行时,输出到屏幕的结果是__________。

#include<>

void fun(char *a,char *b)

{ while(*a=='*') a++;

while((*b=*a)!='\0')

{ b++; a++; }

}

int main()

{ char *s="*******a*b**",t[80];

fun(s,t);

:

puts(t);

return 0;

}

【答案:】

[第1空答案1]:(分值:2)

a*b**

18.[题号:74](填空题<1空>) 分值:2

以下程序运行时,输出到屏幕的结果是__________。

: #include<>

#include<>

void f(char s[],char t[])

{ int i,m=strlen(t),k;

for(i=0;s[i]!='\0';i++)

if(s[i]>='a' && s[i]<='z')

{ k=t[i%m]-'0';

s[i]=(s[i]-'a'+k)%26+'a';

}

}

int main()

{ char s1[10]="abc2013";

f(s1,"123");

puts(s1);

return 0;

}

【答案:】

[第1空答案1]:(分值:2)

bdf2013

}

19.[题号:75](填空题<2空>) 分值:4

以下程序运行时,输出到屏幕的结果中第一行是__________,第二行是__________。

#include<>

void fun(int *t)

{ static int i=0;

do

t[i]+=t[i+1];

while(++i<3);

}

|

int main()

{ int i,a[10]={1,2,3,4,5};

for(i=1;i<3;i++)

fun(a);

for(i=0;i<4;i++)

printf("%d",a[i]);

printf("\n%d\n",a[i]);

return 0;

}

]

【答案:】

[第1空答案1]:(分值:2)

3 5 7 9

[第2空答案1]:(分值:2)

5

20.[题号:76](填空题<3空>) 分值:6

以下程序运行时,输出到屏幕的结果中第一行__________是,第二行是__________,第三行是__________。

#include<>

#define N 3

int main()

{ int a[N][N],b[N*N]={1,1},i,j;

for(i=2;i

b[i]=b[i-1]+b[i-2];