南昌应用技术师范学院《C语言程序设计》2020-2021学年期末试卷_第1页
南昌应用技术师范学院《C语言程序设计》2020-2021学年期末试卷_第2页
南昌应用技术师范学院《C语言程序设计》2020-2021学年期末试卷_第3页
全文预览已结束

下载本文档

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

文档简介

说明:请将全部答案都书写在最后页答题纸上,否则答题无效。(1)格式符“%f”不能用于输入double类型数据。(2)C的任何类型数据在计算机内都是以二进制形式存储的。(3)‘\n’不是一个字符常量。(4)在C语言程序中,ABC与abc是两个相同的变量。(5)结构化程序语言的三种基本控制结构是顺序、选择和分支。(6)表达式3.14%2是合法的c语言表达式。(7)若s1、s2是两个字符串,c程序中可以用s1==s2比较这两个字符串的大小。(8)continue和break语句都只能用在循环体中。(9)C程序可以由多个函数组成,但必须有并且只有一个主函数main。(10)字符数组中字符串可以整体输入输出。二、单选题,从A、B、C、D中,选择一个正确的选项(共20分)1.若有定义语句:charc='\72';则变量c。A.包含1个字符B.包含2个字符C.包含3个字符D.定义不合法2.下面程序的输出是()。#include<stdio.h>voidast(intx,inty,int*cp,int*dp)*dp=x-y;x=*cp+*dp;y=*cp-*dp;}voidmain()x=5;y=2,c=8,d=4;ast(x,y,&c,&d);printf("%d,%d,%d,%d\n",x,y,c,d);}A)x=10,y=4,c=7,d=3B)x=5,y=2,c=7,d=3C)x=10,y=4,c=8,d=4D)x=5,y=2,c=8,d=43.下面程序的运行结果是。#definePS3+4#include<stdio.h>z=PS*2;printf("%d",z);}4.已知字母A的ASCII码值为65,以下语句段的输出结果是。charc1='A',c2='Y';printf("%d,%d\n",c1,c2);A.输出格式非法,输出错误信息B.65,90C.A,YD.65,895.a、b是整型变量,执行语句scanf("a=%d,b=%d",&a,&b);使a和b的值分别为1和2,正确的输入是。A.12B.1,2C.a=1,b=26.有定义inta=9;语句a+=a–=a+a;执行后,变量的值是。A.18B.9C.–18D.–97.有定义doublex=1,y;表达式y=x+3/2的值是。A.1B.2C.2.0D.2.58.下列程序段的输出结果是()。int*p,*q,k=5,j=10;printf("%d",*q);9.设有定义intx;floaty;则下列表达式中结果为整型的是。A.(int)y+xB.(int)x+yC.int(y+x)D.(float)x+y10.若变量已经被正确定义,为表示“变量x和y都能被3整除”,应使用的C表达式C)(x%3==0)||(y%3==0)D)(x%3==0)&&(y%3==0)11.判断下面的循环体执行多少次。i=0;k=10;while(i=8)i=k--;A.8次B.10次C.2次D.无数次12.下面不正确的赋值或赋初值的方式是()。A)char*p="hello";B)chars[10]="hello";C)chars[10];s="hello";D)chars[5]={'h','e','l','l','o'};13.下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是。A.if(u>s)t=u;t=s;B.t=s;if(u>s)t=u;C.if(u>s)t=s;elset=u;D.t=u;if(u>s)t=s;14.若有定义语句:inta[10];则下列对a中数组元素正确引用的是。A.a[10/2-5]B.a[10]C.a[4.5]D.a(1)15.下列程序段的运行结果为。chars[]="ab\0cd";printf("%s",s);A.ab0B.abC.AbcdD.abcd16.有数组的定义chara[20];则正确的输入语句为。A.scanf("%s",&a);B.scanf("%s",a[]);C.gets(a[20]);D.gets(a);17.对下面函数f,选出f(f(3的值是。{x+=k--;}A.5B.3C.2D.418.程序中调用了库函数strcmp,必须包含头文件。A.stdlib.hB.math.hC.ctype.hD.string.h19.设结构体类型及结构数组定义如下,则下面正确的表达式是()。structstudent{intnum;charname[20];floatscore;}stud[10];A)stud[2]=stud[1]+3B)stud[1]==stud[2]C)stud[1]=stud[1]-stud[2]D)stud[1]=stud[2]20.若变量已经被正确定义,则下面语句不正确的是()。A)p=&(x+1);B)p=&x;C)p=&x+1;D)p=&x,p++;三、读程序写出程序执行结果(共20分)1.#include"stdio.h"voidmain(){inta,b,c;a=10;b=20;c=(a%2==0)?a:b;printf("c=%d\n",c);}2.#include"stdio.h"voidmain(){intx,k=2;x=5/k+1;printf("x=%d\n",x);}3.#include<stdio.h>voidmain()scanf("%d",&x);//输入3switch(x+1){case1:y+=1;printf("%d#",y);break;case3:y+=3;printf("%d#",y);case5:y+=5;printf("%d#",y);break;default:y+=7;printf("%d#",y);}}{}#include<stdio.h>{printf("\nsum=%5d",sum);}}四、程序填空,按程序的功能,在划线部分填写适当的内容。(共20分)for((1),i=1;i<=10;++i)s*=i;2.计算2+22+222+2222+……22…2的和#include<stdio.h>{ints=1,t=1,a,n; scanf("%d"&n);t=t*10+1;for(inti=2;i<=n;i++){t=t*10+1; } printf("SUM=%d\n",s);}后输出这些数。3.求111~999之间所有“回文数”之和。要求编制函数JSV(n)用于判断n是否为回文数。回文数是指各位数字左右对称,例如111、121、676、909等等。3.输入10个学生的姓名和成绩,并将其姓名和平均成绩写入到d:\xscj.dat文件中。#include"stdio.h"structscore{charname[10];floatcj[2];};voidmain(){floataver;structscoren[10];inti,j; (5);p=fopen((6));for(i=0;i<10;i++)scanf("%s",&n[i].name);for(j=0;j<2;j++){scanf("%f",(8)

温馨提示

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

评论

0/150

提交评论