2023年宁夏回族自治区中卫市全国计算机等级考试C语言程序设计真题(含答案)
学校:________ 班级:________ 姓名:________ 考号:________
一、2.填空题(10题)
1. 以下程序输出的结果是 #include<stdio.h> #include<string.h> main() {charw[][10]={"ABCD","EFGH","IJKL","MNOP"}1,k; for(k=1;k<3;k++) printf("%s\n",&w[k][k]);}
2. 若有如下定义:
int x=2,y=3,z=4;
则表达式!(x=y)||x+z&&y-z的值是【 】。
3. 下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中,请填空。
#include "stdio.h"
FILE *fp;
main()
{ char ch;
if((fp=fopen( 【 】 ))==NULL)exit(0);
while((ch=getchar())!='@')fputc(ch,fp);
fclose(fp);
}
4. 设有以下定义和语句,则*(*(p+2)+1)的值为【 】。
int a[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
5. 下面程序的输出是【 】。
main()
{int arr[10],i,k=0;
printf函数的作用是向终端for(i=0;i<10;i++)
arr[i]=i;
fov(i=1;i<4;i++)
k+=arr[i]+i;
printf("%d\n",k);}
6. 以下程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(键表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。
#include<stdio.h>
struct list{ int data;struct list*next;};
struct list*creatlist()
{ struct list*p,*q,*ph;int a;ph=(struct list*)malloc(sizeof(struct list));
p=q=ph;printf("Input an integer number;entre-1 to end:\n");
scanf("%d",&a);
while(a!=-1)
{ p=(struct list*)malloc(sizeof(struct list));
【 】=a;q->next=p;【 】=p;scanf("%d",&a);}
p->next='\0';return(ph);}
main()
{struct list * head;head=creatlist();}
7. ______是数据库应用的核心。
8. 以下程序的功能是:从键盘输入一字符串,要求将每个单词中的第一个字母改成小写(如果原来已是小写字母,则不变),然后输出转换结果,补足所缺语句。
main()
{ char str[200]; int i=0;
while((______=getchar())!='\n');
str[i-1)='\0';
for(i=0;str[i]!='\0';i++)
if((str[i-1]==' '‖i==0)&&str[i]>='A'&&str[i]<='Z')
str[i]+=______;
printf("%s\n",str);
}
9. 以下程序运行后的输出结果是【 】。
#include <stdio.h>
msin()
{ int i,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{ n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
10. 数据模型是用来描述数据库的结构和语义的,数据模型有概念数据模型和结构数据模型两类,E-R模型是【 】
二、单选题(10题)