上海应用技术大学c语言试题及答案_第1页
上海应用技术大学c语言试题及答案_第2页
上海应用技术大学c语言试题及答案_第3页
上海应用技术大学c语言试题及答案_第4页
上海应用技术大学c语言试题及答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

上海应用技术大学c语言试题及答案C语言试题一、单项选择题(每题2分,共30分)1.以下关于C语言的说法中,正确的是()。A.C语言程序必须在开头包含`include<stdio.h>`B.C语言是一种高级语言,不能直接操作硬件C.C语言程序的执行是从主函数开始,到主函数结束D.C语言中所有变量必须在使用前定义2.以下哪个是合法的C语言标识符()。A.2abcB._abcC.intD.ab-c3.若有定义`inta=5,b=3;`,则表达式`a%b`的值是()。A.0B.1C.2D.34.以下语句中,能正确输出字符串的是()。A.`printf("%s","Hello");`B.`printf("%c","Hello");`C.`puts('Hello');`D.`putchar("Hello");`5.若有定义`intx=10;`,则执行语句`x+=2;`后,`x`的值是()。A.10B.12C.2D.206.以下关于`if`语句的说法中,错误的是()。A.`if`语句可以单独使用B.`if`语句后面的条件表达式必须用括号括起来C.`if`语句可以嵌套使用D.`if`语句后面的语句块必须用花括号括起来7.以下循环语句中,会出现死循环的是()。A.`for(inti=0;i<10;i++);`B.`while(0){printf("Hello");}`C.`do{printf("Hello");}while(1);`D.`for(inti=10;i>0;i--);`8.若有定义`intarr[5]={1,2,3,4,5};`,则`arr[2]`的值是()。A.1B.2C.3D.49.以下关于函数的说法中,正确的是()。A.函数必须有返回值B.函数可以没有参数C.函数的定义可以嵌套D.函数的调用不能嵌套10.若有定义`charstr[]="Hello";`,则`strlen(str)`的值是()。A.5B.6C.7D.不确定11.以下关于指针的说法中,错误的是()。A.指针变量可以存储变量的地址B.指针变量必须先初始化才能使用C.可以对指针进行加减运算D.指针不能指向数组12.若有定义`intp,a=10;`,要使`p`指向`a`,正确的语句是()。A.`p=a;`B.`p=&a;`C.`p=a;`D.`p=&a;`13.以下关于结构体的说法中,正确的是()。A.结构体是一种基本数据类型B.结构体变量不能作为函数参数C.结构体成员可以是不同类型的数据D.结构体的定义必须在函数内部14.若有定义`typedefstruct{intx;inty;}Point;`,则以下定义`Point`类型变量的语句中,正确的是()。A.`structPointp;`B.`Pointp;`C.`typedefPointp;`D.`structp;`15.以下关于文件操作的说法中,错误的是()。A.可以使用`fopen`函数打开文件B.可以使用`fclose`函数关闭文件C.可以使用`fread`函数从文件中读取数据D.打开文件时只能以只读模式打开二、填空题(每题2分,共20分)1.C语言中,用于输入数据的标准库函数是______。2.若有定义`inta=3,b=4;`,则表达式`a+b2`的值是______。3.若要将一个字符`c`输出到屏幕上,可以使用______函数。4.以下`for`循环的执行次数是______。```cfor(inti=0;i<5;i++){printf("%d",i);}```5.若有定义`intarr[3][4];`,则该二维数组的元素个数是______。6.函数的返回值类型由______决定。7.若有定义`charstr="World";`,则`str`的值是______。8.若有定义`inta=10,p=&a;`,则`p`的值是______。9.结构体变量成员的引用使用______运算符。10.若要以追加模式打开一个文本文件`test.txt`,可以使用`fopen`函数的调用形式为______。三、程序分析题(每题10分,共20分)1.分析以下程序的输出结果:```cinclude<stdio.h>intmain(){inta=5,b=3;if(a>b){printf("aisgreaterthanb\n");}else{printf("aislessthanorequaltob\n");}return0;}```2.分析以下程序的功能:```cinclude<stdio.h>intmain(){intarr[5]={1,2,3,4,5};intsum=0;for(inti=0;i<5;i++){sum+=arr[i];}printf("Thesumofthearrayelementsis:%d\n",sum);return0;}```四、编程题(每题15分,共30分)1.编写一个程序,输入两个整数`a`和`b`,计算并输出它们的和、差、积、商(假设`b`不为0)。2.编写一个函数,用于交换两个整数的值,并在`main`函数中调用该函数进行测试。答案一、单项选择题1.C解释:A选项,`include<stdio.h>`不是必须的,只有使用标准输入输出函数时才需要;B选项,C语言可以直接操作硬件;D选项,在C99标准后,变量可以在使用前的任意位置定义。2.B解释:标识符只能由字母、数字和下划线组成,且不能以数字开头,`int`是关键字,不能作为标识符,`abc`包含非法字符。3.C解释:`%`是取模运算符,`5%3`的结果是2。4.A解释:`%s`用于输出字符串,`%c`用于输出字符,`puts`函数的参数是字符串,`putchar`函数的参数是字符。5.B解释:`x+=2`等价于`x=x+2`,所以`x`的值变为12。6.D解释:`if`语句后面的语句块如果只有一条语句,可以不用花括号括起来。7.C解释:`dowhile`循环先执行一次循环体,然后判断条件,由于条件为1,所以会一直循环下去。8.C解释:数组下标从0开始,`arr[2]`表示数组的第3个元素,值为3。9.B解释:函数可以没有返回值,用`void`表示;函数的定义不能嵌套,但调用可以嵌套。10.A解释:`strlen`函数返回字符串的长度,不包括字符串结束符`\0`,所以`"Hello"`的长度是5。11.D解释:指针可以指向数组,例如`intarr[5];intp=arr;`。12.B解释:要使指针`p`指向变量`a`,需要将`a`的地址赋给`p`,用`&a`表示`a`的地址。13.C解释:结构体是一种自定义数据类型,结构体变量可以作为函数参数,结构体的定义可以在函数内部或外部。14.B解释:使用`typedef`定义了`Point`类型,所以可以直接用`Point`定义变量。15.D解释:打开文件时可以有多种模式,如只读、只写、追加等。二、填空题1.`scanf`2.11解释:先计算乘法`b2=8`,再计算加法`a+8=11`。3.`putchar`4.55.12解释:二维数组`arr[3][4]`的元素个数为`34=12`。6.函数定义时指定的返回值类型7.`'W'`8.109.`.`10.`fopen("test.txt","a")`三、程序分析题1.输出结果:```aisgreaterthanb```解释:因为`a=5`,`b=3`,`a>b`条件成立,所以执行`if`语句块中的内容。2.程序功能:该程序的功能是计算数组`arr`中所有元素的和,并将结果输出。四、编程题1.```cinclude<stdio.h>intmain(){inta,b;printf("Pleaseentertwointegers:");scanf("%d%d",&a,&b);intsum=a+b;intdiff=ab;intprod=ab;floatquot=(float)a/b;printf("Sum:%d\n",sum);printf("Difference:%d\n",diff);printf("Product:%d\n",prod);printf("Quotient:%.2f\n",quot);return0;}```2.```cinclude<stdio.h>voidswap(intx,int

温馨提示

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

评论

0/150

提交评论