南京师范大学计算机考试(C语言)(试卷1)_第1页
南京师范大学计算机考试(C语言)(试卷1)_第2页
南京师范大学计算机考试(C语言)(试卷1)_第3页
南京师范大学计算机考试(C语言)(试卷1)_第4页
南京师范大学计算机考试(C语言)(试卷1)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(试卷1)【程序设计理论】1.[题号:1](单项选择题)分值:2以下四个选项中,属于C语言重点字的是__________。A.FloatB.singleC.doubleD.real【答案:C】2.[

题号:2](

单项选择题)

分值:2某程序需要使用一个代表常数的符号常量名

P,以下定义中正确的选项是

__________。A.#defineP;B.#definePC.#defineP=;D.#defineP【答案:D】3.[题号:3](单项选择题)分值:2以下对于if语句和switch语句的表达中错误的选项是__________。A.if语句和switch语句都能够实现算法的选择构造B.if语句和switch语句都能实现多路(两路以上)选择C.if语句能够嵌套使用D.switch语句不可以嵌套使用【答案:D】4.[题号:4](单项选择题)分值:2以下表达中错误的选项是__________。在函数外能够申明变量变量申明的地点决定了该变量名的使用范围函数调用时在函数内申明的变量所获得的值将没法保留到该函数的下一次调用在函数外申明的变量,其值能够保留到该程序运转结束【答案:

C】5.[

题号:61](

单项选择题)

分值:2有以下程序段:charp1[80]="NanJing",p2[20]="Young",*p32="Olympic

”;strcpy(p1,strcat(p2,p3));printf(

“%sn”,p1);履行该程序段后的输出是

__________NanJingYoungOlympicYoungOlympicOlympicNanJing【答案:

B】6.[

题号:62](

单项选择题)

分值:2已有申明”int

x,a=3,b=2;

”,则履行赋值语句”

x=a>b++?a++:

b++;”后,变量x、a、b的值分别为

__________。A.343B.334C.333D.434【答案:A】7.[

题号:63](

单项选择题)

分值:2已有预办理命令

"#include<>"

和申明

"inta=4,b;".

以下语句中语法正确的选项是

__________。A.if(a%2=1)b=a;B.if(sqrt(a)%2)b=a;if(a==1)b=a;if(a==1)b=*a;【答案:C】8.[题号:64](单项选择题)分值:2已有以下定义和申明:structdata{inta;charb;floatc;}s={1,2,3};charm;以下语句中正确的选项是__________。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.10B.20C.40D.80【答案:

B】10.[

题号:

66](

单项选择题)

分值:2已有申明

"intx=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.15B.16C.17D.18【答案:B】13.[题号:69](单项选择题)分值:2在系统头文件中定义的符号常量NULL代表的数值(整数)是__________。A.-1B.1C.0D.【答案:C】14.[题号:70](单项选择题)分值:2以下程序运转时输出到屏幕的结果是__________。#include<>voidmain(){inta=011;printf("%d",a);}A.6B.7C.8D.9【答案:

D】15.[

题号:71](

单项选择题)

分值:2用系统库函数

fprintf

写到磁盘文件中的数据往常应该用系统库函数

__________读出。A.fscanfB.sscanfC.fgetsD.fread【答案:A】16.[

题号:72](

填空题<1空>)

分值:2下程序运转时,输出到屏幕的结果是

__________。#include<>intmain(){inta=6,b=15,t=a;while(t%b!=0)t+=a;printf("%d",t);return0;}【答案:】[第1空答案1]:(分值:2)3017.[

题号:73](

填空题<1空>)

分值:2以下程序运转时,输出到屏幕的结果是

__________。#include<>voidfun(char*a,char*b){while(*a=='*')a++;while((*b=*a)!='\0'){b++;a++;}}intmain(){char*s="*******a*b**",t[80];fun(s,t);puts(t);return0;}【答案:】[第1空答案1]:(分值:2)a*b**18.[

题号:74](

填空题<1空>)

分值:2以下程序运转时,输出到屏幕的结果是

__________。#include<>#include<>voidf(chars[],chart[]){inti,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';}}intmain(){chars1[10]="abc2013";f(s1,"123");puts(s1);return0;}【答案:】[第1空答案

1]

:(分值:2)bdf201319.[

题号:

75](

填空题<2空>)

分值:4以下程序运转时,输出到屏幕的结果中第一行是

__________,第二行是

__________。#include<>voidfun(int*t){staticinti=0;dot[i]+=t[i+1];while(++i<3);}intmain(){inti,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]);return0;}【答案:】[第1空答案1]:(分值:2)3579[第2空答案1]:(分值:2)520.[题号:76](填空题<3空>)分值:6以下程序运转时,输出到屏幕的结果中第一行__________是,第二行是__________,第三行是__________。#include<>#defineN3intmain(){inta[N][N],b[N*N]={1,1},i,j;for(i=2;i<N*N;i++)b[i]=b[i-1]+b[i-2];for(i=0;i<N;i++)for(j=0;j<N;j++)a[i][j]=b[i*N+j];for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%5d",a[i][j]);printf("\n");}return0;}【答案:】[第1空答案1]:(分值:2)112[第2空答案1]:(分值:2)358[第3空答案1]:(分值:2)13213421.[题号:77](填空题<2空>)分值:4以下程序运转时,输出到屏幕的结果中第一行是__________,第二行是__________。#include<>voidfun(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}intmain(){intaa[6]={1,2,3,4,5,6},i;fun(aa+2,3);for(i=0;i<6;i++){printf("%d",aa[i]);if((i+1)%3==0)printf("\n");}return0;}【答案:】[第1空答案1]:(分值:2)125[第2空答案1]:(分值:2)436【操作题】22.[题号:9](完美程序)分值:12【要求】翻开T盘中的文件,按以下程序功能完美文件中的程序。改正后的源程序仍保留在T盘文件中。【程序功能】以下程序的功能是反转一个字符串中单词的次序。比如,将字符串"thereisnotry"中单词次序反转后变成"trynoisthere",假设以空格作为单词分开符。【测试数据与运转结果】测试数据:thereisnotry屏幕输出:trynoisthere【待完美的源程序】#include<>#include<>#include<>voidreverseWords(charstr1[],charstr2[]){inttokenPos,wReadPos,wEnd,writePos;writePos=0;/*tokenPos记录向前扫描(从串尾到串首扫描tokenPos=__________;while(tokenPos>=0){if(strl[tokenPos]==''){str2[writePos++]=str1[tokenPos--];

)strl

字符串时目前被判断字符的下标

*//*

*/}else{wEnd=tokenPos;/*wEnd记录strl

字符串中被办理单词的尾字符下标

*/While(tokenPos>=0&&str1[tokenPos]!='')/*

向前扫描到空格为止

+,tokenPos--;/*wReadPos记录str1字符串中被办理单词的首字符下标*/wReadPos=__________;while(wReadPos<=wEnd)str2[writePos++]=str1[wReadPos++];}}tr2[writePos]=__________;/*在str2数组中置字符串的停止符*/}intmain(){char*sentence="thereisnotry",*reverse;reverse=(char*)malloc(strlen(__________)+1);printf("%s\n",sentence);reverseWords(sentence,reverse);printf("%s\n",reverse);free(reverse);return0;}【答案:】strlen(str1)-1tokenPos+1'\0'sentence23.[题号:10](改错题)分值:16【要求】翻开T盘中的文件,按以下程序功能更正文件中程序的错误。能够改正语句中的一部分内容,调整语句序次,增添少许的变量说明或许编译预办理命令,但不可以增添其余语句,也不可以删去整条语句。改正后的源程序仍保留在T盘中。【程序功能】一个字符串与它的反序串同样,这样的串称为回文。比如“12321”,”1”等就是回文。判断一个字符串是不是回文,同时从左往右和从右往左逐一判断全部字符能否同样,假如都同样则为回文。【测试数据与运转结果】测试数据:12321屏幕输出:回文测试数据:1234屏幕输出:不是回文【含有错误的源程序】#include<>voidmain(){charstr[20];inti=0,len=0;intp=0,q=0;scanf("%s",str);while(str)i++;len=i;p=0;q=len;while(p<=q){if(str[p]!=str[q])break;p--;q++;}if(p>q)printf("回文");elseprintf("不是回文");}【答案:】#include<>voidmain(){charstr[20];inti=0,len=0;intp=0,q=0;scanf("%s",str);whilestr[i];len=i;p=0;q=len-1;while(p<=q){if(str[p]!=str[q])break;p++;q--;}if(p>q)printf("回文");elseprintf("不是回文");}24.[题号:11](编程题)分值:11【要求】翻开T盘中的文件,在此中输入所编写的程序。【程序功能】将十六进制字符串变换为十进制数,与将十进制字符串变换成整数近似,先减去字符

'0'

的ASCII码值,而后再将一个个数拼成整数。而十六进制中由于有字符

A-F和a-e,有所不一样,要将字符

A-E或许a-e变换成10-15。【编程要求】1、编写程序intfun(char

s[])

。函数功能:依据十六进制的数字字符串

s,计算相应的十进制整数,并返回之。2、编写main函数。函数功能:申明字符数组

s;从键盘输入十六进制字符串并存入数组

s中;用s数组作为实参调用fun函数,获得返回值;输出返回值。【测试数据与运转结果】测试数据:1A屏幕输出:26【答案:】25.[

题号:78](

编程题)

分值:11【要求】1.翻开T盘中的文件,在此中输入所编写的程序,输出结果数据文件取名。2.数据文件的翻开、使用、封闭均用C语言标准库中缓冲

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论