四川大学C语言期末试题(最新版).doc_第1页
四川大学C语言期末试题(最新版).doc_第2页
四川大学C语言期末试题(最新版).doc_第3页
四川大学C语言期末试题(最新版).doc_第4页
四川大学C语言期末试题(最新版).doc_第5页
全文预览已结束

下载本文档

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

文档简介

学号: 姓名一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。每小题1分,共16分)1对于一个正常运行的C程序,以下叙述中正确的是A。A)程序的执行总是从main函数开始,在main函数结束B)程序的执行是从程序的第一个函数开始,在main函数结束C)程序的执行是从main函数开始,在程序的最后一个函数中结束D)程序的执行是从程序的第一个函数开始,在程序的最后一个函数中结束2按照C语言规定的用户标识符命名规则,不能出现在标识符中的是B 。A)字母B)减号C)数字字符D)下划线3下列定义变量的语句中错误的是C。A)int _if; B)double If;C)char forch D)float x&;4以下选项中可作为C语言合法常量的是 A。A)-80 B)-0819C)-1el.0 D)-168.0e5以下能正确定义且赋初值的语句是 。A)int a=b=16; B)char c=97;C)float x=x+1.8; D)double x=1.23E2.06设有定义:“int a=1,b=6,c=8;”,则以下选项中值为0的表达式是 。A)(!a=1)&(!b=0)B)(a0 | E0)C)(E=0) D)(!E=0)9以下数组定义中错误的是B 。A)int x3=0,1,2,3;B)int x23=1,2, 3,4, 5,6;C)int x3=1,2,3,4,5,6;D)int x23= 1,2,3,4,5,6;10在C语言中,函数返回值的类型最终取决于 。A)函数定义时的函数首部所说明的函数类型B)return语句中表达式值的类型C)调用函数时的实参的类型D)函数定义时形参的类型11设已有定义:“float a;”,则以下对指针变量p进行定义且赋初值的语句中正确的是 。A)float *p = 1068; B)int *p= (int)a;C)float p=&a; D)float *p=&a;12若有说明语句:“float *p,a;”,则能通过scanf语句正确给输入项读入数据的程序段是 。A)*p=&a; scanf(%f,p); B)*p=&a; scanf(%lf,p);C)p=&a; scanf(%f,*p); D)p=&a; scanf(%f,p);13若有以下说明和定义:union dtshort int a;char b;double c; data;以下叙述中错误的是 。A) data的每个成员起始地址都相同B)变量data所占的内存字节数与成员c所占字节数相等C)程序段“data.a=6;printf(%fn ,data.c);”输出结果为6.000000D) data可以作为函数的实参14以下叙述中正确的是 。A)在源文件的一行上可以有多条预处理命令B)宏名必须用大写字母表示C)宏替换不占用程序的运行时间D)前面都是错语的15设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为 。A)EOF B)1C)0 D)NULL16以下叙述中错误的是 。A)改变函数形参的值,不会改变对应实参的值B)函数可以返回地址值C)可以给指针变量赋一个整数作为地址值D)函数的形参可为指针类型二、填空题(第小题2分,共14分)1已定义“char ch6;int i=6,j;”,执行“j=ch | i+”以后,i的值为 。2设有定义语句:“int a8=0,1,2;”,则数组元素a12的值为 。3已知int a=3,a的地址为1008,则&a= 。4设有定义:“FILE *fp;”,请将以下打开文件的语句补充完整,以便可以向文本文件readme.txt的最后续写内容。fp = fopen)(readme.txt, );5已有定义:“int *p;”,请写出完整的语句,利用malloc函数使p指向一个整型的动态存储单元。6声明外部变量的关键字是 extrun 。7 int 类型的变量的值只能是所指定的若干名字之一。三、阅读下面各程序,写出运行结果(每小题5分,共30分)1有以下程序:#include int main(void)char al = M, a2 = m, a3 = u;printf(%cn, (al, a2, a3);return 0;运行结果是:2有以下程序:#include int main(void)int k = 6;while (-k) printf(%d, k -= 4);return 0;运行结果是:3有以下程序:#include int main(void)int i = -1; do printf(%d, i); while (+i); printf(%dn, i);return 0;运行结果是:4有以下程序:#include double fun1(double a) return a * a; int fun2(double x, double y)double a = fun1(x), b = fun1(y);return a + b;int main(void)int w = fun2(1.3, 2.0);printf(%dn, w);return 0;运行结果是:5有以下程序:#include int f(int n)if (n = 1) return 1;else return n + f(n - 1);int main(void)printf(%dn, f(5);return 0;运行结果是:6有以下程序:#include void point(char *p) p += 5; int main(void)char b = a, b, c, d, f, g, *p = b;point(p);printf(%cn, *p);return 0;运行结果是:四、程序填空题(每空2分,共12分)1以下程序的功能是:输出a、b、c三个变量中的最小值。将程序补充完整。#include int main(void)int a, b, c, t1, t;scanf(%d%d%d, &a, &b, &c);t = a b ? 1 ;t = c t ? 2 ;printf(%dn, t);return 0;2以下程序调用invert函数按逆序重新放置a数组中元素的值。a数组中元素的值在main函数中读入。将程序补充完整。#include#define N 10void invert(int s, int i, int j)if (i j)int t= si;si = sj;sj = t;invert(s, 3 , j-1);int main(void)int aN, i;for (i = 0; i N; i+)scanf(%d, 4 );/* 输入ai */invert(a, 0, N - 1);for (i = 0; i N; i+)printf(%d , ai);printf(n);return 0;3下面的程序通过函数average计算数组中各元素的平均值,将程序补充完整。#include float average(int a, int n)int i;float s = 0;for (i = 0; i n; i+)s = s + 5 ;return s / 6 ;int main(void)int i, a5 = 2, 4, 6, 8, 10;float mean;mean = average(a, 5);printf(mean=

温馨提示

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

评论

0/150

提交评论