还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
西安邮电大学c语言试题和答案
一、选择题(本题型共15题,每题2分,共30分)
1.C语言源程序经过编译后生成的目标文件扩展名为()A..cpp B..c C..obj D..exe
2.以下选项中,不属于C语言基本数据类型的是()A.int B.float C.char D.String
3.变量在未显式初始化时,局部变量的默认初始值是()A.0B.随机值C.空值D.
14.以下关于全局变量和局部变量的描述,正确的是()A.全局变量的作用域仅限于定义它的函数B.局部变量在函数外部无法访问C.全局变量的生命周期是整个程序运行期间D.静态局部变量在每次函数调用时重新初始化
5.表达式“3+2*4-1”的计算结果是()A.14B.11C.10D.
96.执行语句“int a=5,b=10;a=aba:b;”后,a的值是()A.5B.10C.0D.不确定
7.以下循环结构中,循环体至少执行一次的是()A.while0{printfHello;}B.do{printfHello;}while0;C.for;0;{printfHello;}D.forint i=5;i10;i++;
8.数组“int arr
[5]={1,2,3};”中,arr
[4]的值是()第1页共11页A.0B.1C.3D.未定义
9.关于数组名的描述,错误的是()A.数组名代表数组首元素的地址B.数组名可作为函数参数传递数组元素C.数组名不能进行自增运算(如arr++)D.sizeofarr返回数组总字节数
10.函数参数采用值传递时,以下说法正确的是()A.实参和形参共用同一内存单元B.函数修改形参不影响实参C.只能传递基本数据类型D.传递指针时是值传递
11.指针变量“int p;”指向一个int型变量a,则p表示()A.指针p的地址B.变量a的地址C.变量a的值D.无意义
12.结构体“struct Date{int year;int month;int day;};”定义的变量d,若d.year=2025,d.month=10,d.day=1,sizeofd的值是()字节(假设int为4字节)A.4B.8C.12D.不确定
13.使用fopen函数以“w”模式打开文件时,若文件不存在,结果是()A.打开失败B.创建新文件C.读取原有文件D.提示错误
14.以下关于C语言注释的描述,正确的是()A.单行注释以“/”开头,“/”结尾B.多行注释可嵌套使用C.注释内容会被编译器忽略D.注释中不能包含空格
15.执行语句“int i=0;for;i3;i++{ifi==1break;printf%d,i;}”后,输出结果是()A.01B.0C.1D.012
二、填空题(本题型共10题,每题1分,共10分)第2页共11页
1.C语言程序的唯一入口函数是__________
2.定义“int a=7,b=2;”,表达式a/b的值是__________
3.以下程序段的输出结果是__________int i=0;whilei4{i++;ifi==2continue;printf%d,i;}
4.数组“int arr
[3]={1,2};”中,arr
[2]的初始值为__________
5.函数无返回值时,返回类型应声明为__________
6.指针p指向int数组arr的首元素,访问arr的第3个元素(下标0开始)的表达式是__________
7.使用fwrite函数向文件写入数据时,第一个参数是__________,第二个参数是每个数据项的字节数
8.结构体变量s的定义为“struct Student{char name
[20];intscore;};”,访问s中score成员的方式是__________
9.以下程序段的功能是计算1到10的乘积,补全空白int product=1,i;fori=1;i=10;i++{product*=______;}
10.若函数声明为“void printint*p;”,调用该函数输出p指向的int变量值的语句是__________第3页共11页
三、程序阅读题(本题型共8题,每题3分,共24分)
1.#include stdio.hint main{int x=5,y=3;x+=y;printfx=%d\n,x;return0;}输出结果__________
2.#include stdio.hint main{int a[]={1,3,5,7};int*p=a;printf%d,*p+3;return0;}输出结果__________
3.#include stdio.hvoid funcintx{x++;}int main{int a=4;funca;printfa=%d\n,a;第4页共11页return0;}输出结果__________
4.#include stdio.hint main{int i,sum=0;fori=1;i=5;i++{ifi%2==0sum++;else sum+=2;}printfsum=%d\n,sum;return0;}输出结果__________
5.#include stdio.hstruct Info{char name
[10];int age;};int main{struct Infos={Alice,20};struct Info*p=s;printfName:%s,Age:%d\n,p-name,p-age;return0;}第5页共11页输出结果__________
6.#include stdio.hint main{FILE*fp;int num=100;fp=fopendata.txt,w;iffp==NULL{printfFile error!;return1;}fprintffp,%d,num;fclosefp;return0;}输出结果(文件data.txt内容)__________
7.#include stdio.hint main{int i,j;fori=1;i3;i++{forj=1;j3;j++{printf%d,i+j;}printf\n;}return0;第6页共11页}输出结果__________
8.#include stdio.hint main{int a=1,b=2;a=b;b=a;printfa=%d,b=%d\n,a,b;return0;}输出结果__________
四、程序改错题(本题型共5题,每题4分,共20分)(每个错误1分,修正1分,共2分/题)
1.以下程序的功能是计算1到n的和,找出错误#include stdio.hint main{int n,sum,i;printfInput n:;scanf%d,n;//错误1sum=0;fori=1;i=n;i++{sum=sum+i;}printfSum=sum;//错误2return0;第7页共11页}错误1__________修正__________错误2__________修正__________
2.以下程序的功能是输出1到10的平方,找出错误#include stdio.hint main{int ifori=1;i=10;i++printf%d,i*ireturn0;}错误1__________修正__________错误2__________修正__________
3.以下程序的功能是交换两个变量的值,找出错误#include stdio.hvoid swapintx,int y{int temp;temp=x;x=y;y=temp;}int main{int a=3,b=5;swapa,b;printfa=%d,b=%d\n,a,b;第8页共11页return0;}错误1__________修正__________
4.以下程序的功能是判断一个数是否为偶数,找出错误#include stdio.hint main{int num;printfInput anumber:;scanf%d,num;ifnum%2==0printfEven;elseprintfOdd;return0;}错误1__________修正__________
5.以下程序的功能是输出数组前3个元素,找出错误#include stdio.hint main{int arr[]={10,20,30,40};int i;fori=0;i3;i++{printf%d,arr[i];}return0;第9页共11页}错误1__________修正__________五.程序设计题(本题型共4题,每题5分,共20分)
1.编写程序求100以内所有能被3整除的数之和
2.编写程序定义一个学生结构体(学号、姓名、成绩),输入2个学生信息并输出
3.编写程序实现函数,求两个int数的最大公约数(辗转相除法)
4.编写程序,输入一个字符串,统计其中字符“a”出现的次数
六、简答题(本题型共5题,每题4分,共20分)
1.简述C语言中数组名作为函数参数传递时的特点
2.说明C语言中局部变量和全局变量的作用域差异
3.解释什么是指针?指针变量的类型有何意义?
4.简述结构体与联合体的定义区别及使用场景
5.文件操作中,fopen函数的打开模式“r”、“w”、“a”分别表示什么含义?答案汇总
一、选择题
1.C
2.D
3.B
4.C
5.B
6.B
7.B
8.A
9.B
10.B
11.C
12.C
13.B
14.C
15.B
二、填空题
1.main
2.
33.
134.
05.void
6.*p+
27.数据首地址
8.s.score
9.i
10.printp;
三、程序阅读题
1.x=
82.
73.a=
44.sum=
95.Name:Alice,Age:
206.
1007.
23458.a=2,b=2第10页共11页
四、程序改错题(以第1题为例,其他类似)
1.错误1scanf%d,n;修正scanf%d,n;错误2printfSum=sum;修正printfSum=%d,sum;
五、程序设计题(答案略,需完整编写程序)
六、简答题(答案略,需结合概念阐述)第11页共11页。
个人认证
优秀文档
获得点赞 0