2024年c语言试卷

来源:网络收集 时间:2025-05-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

2009

试题一、单选题(每小题2分,共20分)

1. 2.

3.

4.

5.

6.

C.自动变量定义在函数内部 D.静态变量定义在函数外部 7. 假设sizeof(int)的值为4,对数组定义:int a[3][6];则sizeof( a[0] )的值为______。

A.12 B.4 C.24 D.18

8.

在C语言中,long int型数据在内存中的存储形式是 。 A.补码 B.反码 C.原码 D.ASCII码 假设有定义:int k;下面程序段编译运行的情况是_____。 for (k=1; k; k++) printf (\A.编译错误 B.能运行, 是死循环 C.能运行, 正常结束 D.以上说法都不对

循环语句while (!x&&!y)中的循环条件表达式等价于______。 A.x=0 && y=0 B.!(x || y) C.!( x==0 || y==0) D.!( x==0 && y==0)

对于 int x, y; 语句 if (x < 0) y = -1; else if (!x) y = 0; else y = 1;等价于_____。

A.if (x>=0) y=0; if(x) y=1; else y=-1; B.y=0; if (x>=0) if(x) y=1; else y=-1; C.if (x != 0) if (x > 0) y = 1; else y = -1; D.y=0; if (x!=0) if(x>0) y=1; else y=-1;

语句 if (4/5 > 3/4) a=1; else a=0; 运行后,a的值是_____。 A.1 B.0 C.编译出错 D.与编译器相

下列描述不正确的是_______。

A.外部变量定义在函数外部 B.局部变量定义在函数内

有如下定义:int x[]={1,2,3},*p=x,y; 则y=*p++;相当于_____。 A.y=x[0],p++ B.y=1,x++

C.y=*(++p) y=2,p=x+1 C.*(a+1)=p D.

a[0]=2

根据声明int p[5], *a[5];下列表达式正确的是______。 A.p=a

B.p[0]=a

9.

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 1 / 8

10. 有如下定义,下列赋值正确的是________。

struct node {

char s[10]; int k;

struct node *next; } p[5],*q=p; A.q.k=2

试题二、填空题(每小题2分,共30分)

1. 表示“当 x 的取值在 [-10, 0] 或 [10, 15] 的范围内为真,否则为假”的C语言表达式是_____。

2. 若 int a = 6, b = 0, c = 3,则表达式 a && b || b - c 的结果是_____。 3. 表达式 !!”2010-01-27” 的值为_______。

4. 假设字符变量ch中存放有大写英文字母,将其转换为相应的小写英文字母的表达式是______。

5. 执行下面程序代码后,s值为_____。

int i, s;

for (i=5,s=0;i>s;i--) { if (i==0) break; if(i%2) continue; s+=--i; } 6. 执行下面程序代码的输出结果是_____。 char *s1=\ while (*s1++ == *s2++);

printf(\

B.p[0]->k=2 C.(p->s)[0]D.q->s=“a”

=?a?

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 2 / 8

7. 执行下面程序代码后,s值为_____。

int a=1, b=2, s=0; switch (a>b) { default: switch(s){ case 0:s+=1; default:s+=2;break; }

case 1: s+=3; break; }

8. 已知字符0和a的ASCII分别为48和97,当输入12e<回车> 时,下列程序输出是_____。 char c; int s=0;

while( (c=getchar()) != '\\n') if('0'<=c<='9') s=s*10+c-'0'; printf(\

9. 下列命令行参数程序生成的执行程序为command.exe,执行command abc 111 222<回车>,输出结果是_______。 # include

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 3 / 8

main(int argc,char *argv[]) {

argc--;

while(--argc)

printf(\}

下列程序段的输出是_______。 #define DF(a,b) (a+2*b) int s=5;

int k= DF(s+1,s-3); printf(\

下列程序段输出_______。 int fun(int x) {

return (x<3?1:(fun(x-1)+2*fun(x-2))); } int main() {

printf(\}

, 2010年1月27日 4 / 8

10. 11. 《程序设计基础及实验》课程期末考试试卷 12. 下列程序段输出_______。 int a=1;int b=2; void change(int *p) {

int *temp=&b; p=temp; *p=3; } int main() {

int *p=&a; change(p); printf(\}

13. 用 typedef 写出类型定义 ,使得NEWSTR表示含有20个元素的字符数组类型。

14. 有定义:int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*q[4],k;则下列程序段的输出是_______。

for(k=0;k<4;k++) q[k]=&a[k*3]; printf(\

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 5 / 8

15. 下列程序段执行后,z的值是_______。 static struct {

int x, y[3];

} a[3] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}, *p=&a[-1]; int z;

z=*((int *)(++p+1)-1);

试题三、程序阅读题(每小题5分,共30分) 1. 下列程序的输出是_______。 #include int x, y, z, w; void p(int *y, int x) {

static int w;

*y++; x++; w = x+*--y;

printf(\}

int main(void) {

int x, y, z, w;

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 6 / 8

x=y=z=w=1; do{

static int x; p(&x, y);

printf(\ } while(0); return 0; }

2. 下列程序的输出是_______。 #include #include int main() {

char a[20]=\

char *s=\ int i, j;

for(p=s; *p; p++) { j=0;

while (*p>=a[j] && a[j]!='\\0') j++;

for(i=strlen(a); i>=j; i--) a[i+1] = a[i];

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 7 / 8

a[j]=*p; }

puts(a); return 0; }

3. 有一单向链表h如下图所示,表示整数序列(1,1,2,4,4,3,5,5,5,4)。 h

有关变量定义: struct node {

int info;

1 1 2 5 4 struct node *next; } *h, *p, *q;

现执行以下程序段,则输出的结果是:_______。 q=h;

if (h && h->next!=NULL) p=h->next; else return 0; while (p!=NULL) { if (q->info!=p->info) {

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 8 / 8

q=p; p=p->next;

} else {

p=p->next; free(q->next); q->next=p; } } p=h;

while (p!=NULL) { printf(\ p=p->next; }

4. 当输入:3 1 2 3 4 5 6 7 8 9 时,下列程序的输出是_______。

#include #define N 10

void mt(int *a,int n) {

int i, j, t;

for (i=0; i

t=*(a+i*N+j); *(a+i*N+j)=*(a+j*N+i); *(a+N*j+i)=t; }

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 9 / 8

return;

} int main() {

int a[N][N],n,i,j;

scanf(\

for(i=0;i

for(j=0;j

scanf(\ mt(&a[0][0],n);

for(i=0;i

for(j=0;j

printf(\ }

return 0; }

5. 当输入:5 3 2 6 5 8<回车>时,下列程序的输出为_______。#include #include void main()

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日

10 / 8

{

int *p,flag,i,n,s; scanf(\

p= (int*)malloc(n*sizeof(int)); for(i=0;i

s+=*p; break; }

if(i==n) flag = 0 ;

}

printf(\ free(p); }

6. 当输入:100 5 125 18 121 6<回车> 时,下列程序的输出为_______。 #include

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 11 / 8

char *p = \void fun(int n, int m); void main() {

int n,m,i; for(i=0; i<3; i++){

scanf(\ fun(n, m); printf(\ } }

void fun(int n, int m) {

if(n / m) fun(n/m,m); printf(\}

试题四、程序(段)填空题(每空2分,共20分)

1. 已知一个单向链表h。函数KthBackNode(h,k)查找链表h中倒数第k(k>0)个位置上的结点。若查找成功,返回该结点的data域值,否则返

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 12 / 8

回-1。该程序思路:指针p、q初始均指向第一个结点,p指针先沿链表移动,当与q指针相差k个结点时,p、q指针同步移动。 struct node {

int data;

struct node *next; };

int KthBackNode( struct node *h, int k ) { ___(1)____; int count =0; p = q = h;

while ( p!=NULL && countnext;

___(2)____; }

while ( p!=NULL ) {

___(3)____;

q = q->next; }

if ( count < k ) return -1;

return ___(4)____;

, 2010年1月27日 /*h为表头指针*/

《程序设计基础及实验》课程期末考试试卷 13 / 8

}

2. 下列程序通过命令行参数方式(prog file1 file2)将两个文本文件中的两个从小到大的整数序列合并为一个从小到大的序列。注:fscanf()函数返回值为读入的整数个数;end1和end2分别用于标记两个文件的整数是否读完(值1代表读完)。例如:

如果file1和file2文件中的内容分别为: 1 2 3 和 0 2 5 6,则输出为:0 1 2 2 3 5 6。 #include

int main(int argc, char *argv[]) {

___(5)____;

int n, m, end1=0,end2=0;

if (___(6)____) {

printf(\ file1 file2\\n\ exit(0); }

if ((fp1=fopen(argv[1], \ (___(7)____)) {

printf(\

}

if (fscanf(fp1, \

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 14 / 8

if (fscanf(fp2, \while (___(8)____)

if (n>m) { printf(\

if (fscanf(fp2, \

} else {

printf(\ ___(9)____;

}

while (!end1) {

printf(\

}

while (!end2) {

printf(\ if (fscanf(fp2, \

}

___(10)____; /*关闭打开的文件*/

return 0;

}

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 15 / 8

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库2024年c语言试卷在线全文阅读。

2024年c语言试卷.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/200826.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219