上海海事大学(C语言期末)上机题库 (3)
大学C语言期末考试试题(含答案)

第一章C语言概述1.1 选择题*1.1一个C程序的执行是从 A 。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。
但是C 语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。
如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。
*1.2以下叙述正确的是 C 。
A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误参考答案:C参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。
因此,如果注释中存在错误,系统是不可能发现的。
另外,C语言的I/O操作均通过函数实现,系统本身未提供相应的语句。
1.3以下叙述不正确的是 D 。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面参考答案:D参考分析:C语言中,注释语句的位置是任意的,当然,它不能破坏标识符的完整性。
C语言只是将一个注释看作是一个空格,因此对注释内的任何错误都不作检查。
1.4 C语言规定:在一个源程序中,main函数的位置 C 。
A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后参考答案:C*1.5一个C语言程序是由 B 。
A)一个主程序和若干个子程序组成B)若干函数组成C)若干过程组成D)若干子程序组成参考答案:B参考分析:通常许多语言程序由主程序和子程序构成,但是C语言是函数式语言,整个程序由众多函数组成。
【大学期末考试复习题】上海海事大学(C语言期末)上机题库(3)

第 1 题 ( 1.0 分) 在 C 程序中 , 每行中只能写一条语句 第 2 题 ( 1.0 分) x*=y+8 等价于 x=x*(y+8). 第 3 题 ( 1.0 分) 语句 scanf("%7.2f",&a); 第 4 题 ( 1.0 分) 若 i =3, 则 printf("%d",-i++); 第 5 题 ( 1.0 分) 在 switch-case 语句中 , 必须使用 default 语句 . 答案: N 第 6 题 ( 1.0 分) 关于 if 语句中 , 条件表达式只能是关系表达式或逻辑表达式 第 7 题 ( 1.0 分) continue 语句只结束本次循环 , 而不是终止整个循环的执行 . .break 语句则是结束整个循环过程 , 答案: N 输出的值为 -4. 答案: N 是一个合法的 scanf 函数 . 答案: N 答案: Y 答案: N
第 6 题 ( 1.0 分) 假设变量 a,b 均为整型 , 表达式 (a=5,b=2,a>b?a++:b++,a+b) 的值是【 1】 . 答案: 1). 8
第 7 题 ( 1.0 分) C 语言表达式 !(3<6)||(4<9) 答案: 1). 1 的值是【 1 】 .
第 8 题 ( 1.0 分) c 语言表达式 !(4>=6)&&(3<=7) 答案: 1). 1 的值是【 1 】 .
b=0; do { b+=2; a-=2+b; } while (a>=0); 第 13 题 ( 1.0 分) 若有以下数组 a, 数组元素 :a[0]~a[9], 其值为 答案: 1). 3
海大c程上机题附答案及附加题

1. 编写函数long fun(long x),它的功能是:将长整型参数x中每一位上为偶数的数依次取出,构成一个新数返回。
高位仍在高位,低位仍在低位。
例如:下面程序运行时输入:2,程序输出:24802.#include<>long fun(long x){long i,m,sum=0;int j=0,n;for(i=x;i>0;){m=i%10;i=i/10;if(m%2==0){j++;for(n=1;n<j;n++)m=m*10;sum+=m;}}return sum;}void main(){long a,b;printf("Enter a number:");scanf("%ld",&a);b=fun(a);printf("b=%ld\n",b);}2. 编写函数void fun(int k,int *p),功能是:将参数k(2≤k≤32767)所有的不相同质因子升序写入p所指的一维数组中,以-1作为所有质因子的结束标志。
例如:下面程序运行时若输入200,输出:2 5;若输入27720,输出:2 3 5 7 11;若输入101,输出101。
#include<>#include<>void fun(int k,int *p){int i,j,t=0;double b;for(i=2;i<=k;i++) 先判断是不是质数,在判断是不是因子。
{b=sqrt(i);for(j=2;j<=b;j++)if(i%j==0)break;if(j>b&&k%i==0){p[t]=i;t++;}p[t]=-1;}}void main(){int x,a[17]={0},i;do{ printf("Enter a number(2-32767):");scanf("%d",&x);}while(x<2);fun(x,a);for(i=0;a[i]!=-1;i++)printf("%d ",a[i]);printf("\n");}3. 编写函数void fun(int *x,int n),功能是:求出长度为n的数组x中的最大数与次最大数,并把最大数和a[0]对调,次最大数与a[1]对调,其余的数保持不变。
c语言期末考试题及详细答案

c语言期末考试题及详细答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中合法的变量名?A. 2variableB. intC. _first_variableD. for答案:C2. C语言中,用于定义一个整型数组的关键字是?A. charB. intC. floatD. double答案:B3. 在C语言中,哪个运算符用于比较两个值是否不相等?A. ==B. !=C. =D. <答案:B4. 下列哪个函数用于计算数组中元素的个数?A. strlenB. sizeofC. strcpyD. strcmp答案:B5. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A6. 下列哪个选项是C语言中合法的常量?A. 0x1AB. 1.23e-5C. 2.3.4D. 0b101答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. intB. voidC. structD. return答案:B8. C语言中,用于定义一个指针的关键字是?A. intB. charC. floatD. *答案:D9. 下列哪个选项是C语言中合法的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello\nWorld"D. "Hello\tWorld"答案:A10. 在C语言中,哪个运算符用于执行算术运算?A. %B. &C. +D. ||答案:C二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:______。
答案:int variable_name;2. 用于将一个字符串复制到另一个字符串的C语言函数是:______。
答案:strcpy3. C语言中,用于声明一个指向整型变量的指针的语法是:______。
大一c期末考试题及答案

大一c期末考试题及答案大一C语言期末考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C3. 在C语言中,以下哪个选项不是运算符?A. +B. -C. %D. :答案:D4. 若有定义:int a=5, b=3;,则表达式a%b的值是多少?A. 2B. 1C. 0D. 3答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. while答案:B6. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[5] = "hello";B. char str[] = {'h', 'e', 'l', 'l', 'o'};C. char str[6] = "hello";D. char str[] = "hello";答案:D7. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A8. 下列哪个选项不是C语言中的数组?A. int a[5];B. int a[5] = {1, 2, 3, 4, 5};C. int a[] = {1, 2, 3};D. int a = {1, 2, 3};答案:D9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(int a);答案:A10. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. printf()D. scanf()答案:A二、填空题(每空2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。
(完整版)大学C语言期末考试练习题(带详解答案)

一、单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。
A) 程序中第一条可执行语句B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A)%x B)a+b C)a123 D)123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
上海海事大学C语言期末上机题库 13

if (a>c) b=a; a=c; c=b;
答案: =======(答案 1)======= 2
第 10 题 (1.0 分) 题号:532 以下 do-while 语句中循环体的执行次数是【1】.
a=10;
b=0; do { b+=2; a-=2+b; } while (a>=0);
答案: =======(答案 1)======= 3
答案: =======(答案 1)======= 9,10
第 5 题 (1.0 分) 题号:431 执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2); 答案: =======(答案 1)======= 97 b
*第 6 题 (1.0 分) 题号:293 getchar()函数只能接收一个【1】. 答案: =======(答案 1)======= 字符
第 14 题 (1.0 分) 题号:341 定义 int a[2][3];表示数组 a 中的元素个数是【1】个. 答案: =======(答案 1)======= 6
第 15 题 (1.0 分) 题号:328 C 语言中,数组元素的下标下限为【1】. 答案: =======(答案 1)======= 0
答案:
=======(答案 1)======= 28
第 2 题 (1.0 分) 题号:78 已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是【1】.
答案:
=======(答案 1)======= 15
第 3 题 (1.0 分) 题号:510 若 a 是 int 型变量,则计算表达式 a=25/3%3 后 a 的值为【1】.
C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。
2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。
3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。
4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。
5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。
c语言期末上机考试复习题20题答案

C语言题目试编程完成如下功能:1.2.输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。
3.4.5.编一程序,对于给定的一个百分制成绩,输出相应的等级。
设:90分以上为‘A’;80~896.#include<stdio.h>void main(){int t,a,b,c;printf(“请输入一个三位整数!\n”);scanf(“%d”,&t);a=t/100;b=t/10%10;c=t%10;if(a==0){if(b==0)printf(“%d\n”,c);elseprintf(“%d%d\n”,c,b);}elseprintf(“%d%d%d\n”,c,b,a);}7.从键盘上输入若10个学生的成绩,统计并输出最高成绩和最低成绩。
#include<stdio.h>void main(){int a[10],m,n,i=0;printf(“请输入第%d个学生的成绩\n”,i+1);scanf(“%d”,&a[i]);m=a[i];n=a[i];for(i=1;i<10;i++){printf(“请输入第%d个学生的成绩\n”,i+1);scanf(“%d”,&a[i]);if(m<a[i])m=a[i];if(n>a[i])n=a[i];}printf(“最高成绩为%d分,最低成绩为%d分。
\n”,m,n);}8.9.10.11.12.13.请编写一程序,将所有“水仙花数”打印出来,并打印出其总数。
“水仙花数”是一个14.** * ** * * * *15.16.17.将一个n*m二维数组的行和列元素互换,存到另一个m*n的二维数组中,并输出其结果。
#include<stdio.h>void main(){int a[20][20]={0},b[20][20]={0},i,j,m,n;printf(“请输入m、n的值!\n”);scanf(“%d,%d”,&m,&n);for(i=0;i<n;i++)for(j=0;j<m;j++){printf(“请输入a[%d][%d]的值”,i,j);scanf(“%d”,&a[i][j]);}for(i=0;i<n;i++)for(j=0;j<m;j++)b[j][i]=a[i][j];for(i=0;i<m;i++){for(j=0;j<n;j++)printf(“%d ”,b[i][j]);printf(“\n”);}}18.编程完成下述功能:从键盘输入一个n*n(最大为20*20)矩阵的各元素的值,求出该矩阵两条对角线上各元素值之和并打印出结果。
c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案1. 题目:编写一个C语言程序,实现一个简单的学生成绩管理系统,要求能够添加学生信息、查询学生信息、修改学生信息和删除学生信息。
答案:```c#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct {int id;char name[50];float score;} Student;Student students[100];int studentCount = 0;void addStudent(int id, char* name, float score) {if (studentCount < 100) {students[studentCount].id = id;strcpy(students[studentCount].name, name);students[studentCount].score = score;studentCount++;} else {printf("学生信息已满。
\n");}}void queryStudent(int id) {for (int i = 0; i < studentCount; i++) {if (students[i].id == id) {printf("学生ID:%d, 姓名:%s, 成绩:%.2f\n", students[i].id, students[i].name, students[i].score);return;}}printf("未找到该学生信息。
\n");}void modifyStudent(int id, char* name, float score) {for (int i = 0; i < studentCount; i++) {if (students[i].id == id) {strcpy(students[i].name, name);students[i].score = score;printf("学生信息已更新。
大学c语言期末考试题库及答案汇总

大学c语言期末考试题库及答案汇总一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. INTC. IntegerD. int_答案:A2. C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. count()答案:A3. 在C语言中,以下哪个运算符用于表示逻辑与?A. &&B. ||C. !D. &&答案:A4. 以下哪个选项不是C语言中的控制语句?A. ifB. whileC. switchD. goto答案:D5. 在C语言中,以下哪个函数用于将整数转换为字符串?A. atoi()B. itoa()C. sprintf()D. printf()答案:B6. C语言中,以下哪个选项是正确的字符常量表示?A. 'ab'B. "ab"C. 'ab'D. "ab"答案:C7. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[3] = {1, 2, 3, 4};D. int arr = {1, 2, 3};答案:A8. 下列哪个选项是C语言中的合法浮点数?A. 3.14159B. 3.14.159C. 3.14eD. 3.14e1答案:D9. 在C语言中,以下哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. sprintf()D. fprintf()答案:A10. C语言中,以下哪个选项是正确的函数声明?A. int function();B. int function;C. int function int;D. int function(int, int);答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。
2018—2019学年第二学期期末 C语言程序设计上机考试试题及答案

#include <stdio.h>
void main()
{ int a[10]={1,4,2,7,3,12,5,34,5,9},i,max,pos;
max = a[0];
pos = 0;
for ( i=1; i<10; i++)
/************找错误************/
2018—2019学年第二学期期末上机考试试题及答案
《C语言程序设计》
答题要求:
1、把监考教师发给的“Word答题册”文档重新命名为姓名+学号,本试卷的所有答案都写到该文档中并上交。
2、注意标清楚题号、保存文档。
3、编程题要求把源代码复制到Word文档中,把运行后的输出结果截图粘贴到代码下面。
本试题需在word文档【答题册】作答。(试题总分100分)
while(score<0||score>100);
t=score/10;
/*************找错误**************/
switch(score)
{
case 10:
case 9:printf("优秀!\n");break;
case 8:printf("良好!\n");break;
case 7:printf("中等!\n");break;
{
int x,y;
scanf("%d ",&x);
if()
y=-x;
else
y=;
printf("x=%d,y=%d\n",x,y);
c语言上机试题库及答案

c语言上机试题库及答案1. 题目一:字符串翻转要求:编写一个C语言程序,实现字符串的翻转功能。
```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);char temp;for(int i = 0; i < len / 2; i++) {temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("Enter a string: ");scanf("%s", str);reverseString(str);printf("Reversed string: %s\n", str);return 0;}```2. 题目二:计算数组中的最大值要求:编写一个C语言程序,计算并输出一个整数数组中的最大值。
```c#include <stdio.h>int findMax(int arr[], int size) {int max = arr[0];for(int i = 1; i < size; i++) {if(arr[i] > max) {max = arr[i];}}return max;}int main() {int arr[] = {10, 45, 23, 67, 89, 34};int size = sizeof(arr) / sizeof(arr[0]);int max = findMax(arr, size);printf("The maximum value in the array is: %d\n", max); return 0;}```3. 题目三:实现二分查找要求:编写一个C语言程序,实现一个二分查找算法,查找一个有序数组中是否存在目标值。
大学C语言期末考试练习题(带详解答案)

序
设
C)while的循环体至少无条件执行一次
计
控
D)while的循环控制条件比do-while的严格
D 制
结 构
7)语句while (!a);中条件等价于____.
A)a!=0 B)~a C)a==1 D)a==0
返回目录
C
● 单项选择题
第20页
D 8)以下程序的运行结果为____.
#include <stdio.h>
C)for(表达式1;表达式1;表达式3)
D)for(表达式1;表达式3;表达式3)
返回目录
C
第24页
● 程序填空题
1.下面程序的功能是计算n!。
#include <stdio.h>
main( )
{
int i, n;
语
long p;
言 程
printf ( "Please input a number:\n" );
main( )
语{
言 程 序 设 计
控 制 结
构}
int i=1,sum=0; while(i<=100)
sum+=i; i++; printf("1+2+3+...+99+100=%d", sum);
A)5050 B)1 C)0
D)程序陷入死循环
返回目录
C
● 单项选择题
A 9)以下程序的运行结果为____.
设
计
A)\’ B)\0 C)\n
D)\\
D 基
本
8) 设先有定义:int a=10;则表达式a+=a *=a的值为____.
C语言期末考试试卷及答案3

一、单项选择题(本大题共20小题,每小题1分,共20分)1.下列说法正确的是()A.C程序可以从任何一个函数开始执行B.main函数可以被其它函数调用C.一个C程序只能有一个main函数D.main函数中不能有形参2.下列属于正确的标示符是()A.?aB.a=2C.a.3D.a_33.下列数据中属于“字符串常量”的是A.ABCB.“ABC”C.‘abc’D.‘a’4.char型常量在内存中存放的是()A.ASCII代码B.BCD代码C.内码D.十进制代码5.设字符型变量a=3,b=6,计算表达式c=(a^b)<<2后c的二进制值是()A.00011100B.00000111C.00000001D.000101006.若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c的值的类型为()A.floatB.intC.charD.double7.以下程序的输出结果是a=5,b=4,则输入数据的形式应该是()#include“stdio.h”main(){int a,b;scanf("%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b);}A54B5,4C5b=4D5,b=48.C语言中,while和do…while循环的主要区别是()A.while的循环控制条件比do…while的循环控制条件严格B.do…while的循环体至少无条件执行一次C.do…while允许从外部转到循环体内D.do…while的循环体不能是复合语句9.循环语句for(x=0,y=0;(y!=123)||(x<4);x++);的循环执行()A.无限次B.不确定次数C.4次D.3次10.在C语言中,设有数组定义char array[]="China";则array所占的空间为()A.4个字节B.5个字节C.6个字节D.7个字节11.若变量已正确说明为int类型,要通过语句scanf(“%d%d%d”,&a,&b,&c);给a,b,c分别赋值3,5,8,不正确的输入形式是()A.3<enter>B.3,5,8<enter>5<enter>8<enter>C.3<enter>D.35<enter>58<enter>812.char*p="happy new year";char*q=p;int k;for(k=1;k<8;k++){putchar(*q);q++;}上面C程序段的输出结果是()A.happy new yearB.happy newC.happy nD.happyE.appy n13.设double*p[5];则A.p是指向double型变量的指针B.p是double型数组C.p是指针数组,其元素是指向double型变量的指针D.p是数组指针,指向double型数组14.两个指针变量不可以()A.相加B比较C相减D指向同一地址15.对C语言函数描述正确的是A.在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传回给实参B.C函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.函数必须有返回值,返回值类型不定16.设有如下定义,则对data中的a成员的正确引用是()struct test{int a;float b;}data,*p=&data;A.(*p).data.aB.(*p).aC.p->data.aD.p.data.a17.有如下程序(提示:注意宏替换的规则)#define N2#define M N+1#define NUM2*M+1#main(){int i;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是()A.5B.6C.7D.818.若有以下定义,则printf(“%d\n”,sizeof(them));的输出是()typedef union{long x[2];int y[4];char z[8];}MYTYPE;MYTYPE them;A.32B.16C.8D.2419.下列语句中,将c定义为文件型指针的是()A.FILE c;B.FILE*c;C.file c;D.file*c;20.下列关于C语言数据文件的叙述中正确的是A.文件由ASCII码字符序列组成,C语言只能读写文本文件B.文件由二进制数据序列组成,C语言只能读写二进制文件C.文件由记录序列组成,可按数据存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件二、填空题(本大题共10小题,每小题2分,共20分)1.在定义变量的同时给变量赋予初值就称为___________________________________ 2.下面程序段的输出结果是___________________________________________ int a=28;a=a&21;printf(“%d%o\n”,a,a);3.能正确表示0≤a≤10的逻辑表达式是_________________________________4.若有定义int a[3],*p;则使p指向数组a的赋值语句是_______________________ 5.strcmp函数的功能是________________________________________6.写出数学式a acbbx24 2-+-=的C语言表达式________________________________ 7.将以下程序写成三目运算符的表达式是____________________________________if(a>b)max=a;else max=b8.设有定义如下:#define F(N)2*N,则表达式F(2+3)的值是_____________________. 9.在C语言中,指针运算符为___________________,取地址运算符________________。
上机考试题库c语言

上机考试题库c语言一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. floatC. voidD. function2. 若有定义int a=5;,则以下哪个表达式的值不为5?A. a++B. a--C. ++aD. --a3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$24. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. &5. 以下哪个选项是C语言中的整型数据类型?A. intB. floatC. doubleD. char6. 在C语言中,以下哪个选项用于声明一个指针?A. *B. &C. %D. #7. 若有定义int a[5]={1,2,3,4,5};,则以下哪个表达式的值不为3?A. a[2]B. *(a+2)C. a+2D. *a8. 在C语言中,以下哪个选项表示逻辑“或”操作?A. &&B. ||C. !D. |9. 在C语言中,以下哪个选项用于声明一个字符数组?A. char a[5]B. int a[5]C. float a[5]D. double a[5]10. 若有定义char str[10]="Hello";,则以下哪个表达式的值不为'o'?A. str[4]B. *(str+4)C. str+4D. *(str+5)二、填空题(每题2分,共20分)1. 在C语言中,用于声明一个整型变量的关键字是______。
2. 若有定义int a=10;,则表达式a++的值是______。
3. C语言中,用于声明一个浮点型变量的关键字是______。
4. 在C语言中,用于声明一个字符型变量的关键字是______。
5. 若有定义int a[5]={1,2,3,4,5};,则表达式*(a+2)的值是______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试卷编号:9050 所属语言:Turbo C试卷方案:09(2) 模拟试卷总分:100分共有题型:5种一、填空共15题(共计15分)第1题(1.0分)若有定义:char c='\010'; 则变量C中包含的字符个数为【1】.答案: 1). 1第2题(1.0分)写出语句 b=(a=6,a*3); 执行后整型变量b的值是【1】.答案: 1). 18第3题(1.0分)C语言的三种基本结构是【1】结构、选择结构、循环结构.答案: 1). 顺序第4题(1.0分)执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2);答案: 1). 97 b第5题(1.0分)已知a=13,b=6, a&&b的十进制数值为【1】.答案: 1). 1第6题(1.0分)假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是【1】.答案: 1). 8第7题(1.0分)C语言表达式!(3<6)||(4<9)的值是【1】.答案: 1). 1第8题(1.0分)c语言表达式!(4>=6)&&(3<=7)的值是【1】.答案: 1). 1第9题(1.0分)以下程序的输出结果为【1】,#include "stdio.h" main(){int a;for(a=0;a<10;a++);printf("%d",a);}答案: 1). 10第10题(1.0分)设i,j,k均为int型变量,则执行完for循环for(i=0,j=10;i<=j;i++,j--) k=i+j;后,k的值为【1】.答案: 1). 10*第11题(1.0分)程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次.答案: 1). 0第12题(1.0分)以下do-while语句中循环体的执行次数是【1】.a=10;b=0;do { b+=2; a-=2+b; } while (a>=0);答案: 1). 3第13题(1.0分)若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3该数组可用的最小下标值是【1】.答案: 1). 0第14题(1.0分)如果函数不要求带回值,可用【1】来定义函数返回值为空.答案: 1). void第15题(1.0分)函数调用语句func((e1,e2),(e3,e4,e5))中含有【1】个实参.答案: 1). 2二、判断共15题(共计15分)第1题(1.0分)在C程序中,每行中只能写一条语句答案:N第2题(1.0分)x*=y+8 等价于 x=x*(y+8).答案:Y第3题(1.0分)语句scanf("%7.2f",&a);是一个合法的scanf函数.答案:N第4题(1.0分)若i =3,则printf("%d",-i++);输出的值为 -4.答案:N第5题(1.0分)在switch-case语句中,必须使用default语句.答案:N第6题(1.0分)关于if语句中,条件表达式只能是关系表达式或逻辑表达式答案:N第7题(1.0分)continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.答案:Y第8题(1.0分)C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第9题(1.0分)char c[]="Very Good"; 是一个合法的为字符串数组赋值的语句.答案:Y第10题(1.0分)若有定义和语句:int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++) sum+=a[i][2-i];则sum=21.答案:Y第11题(1.0分)数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数.答案:N第12题(1.0分)C语言中只能逐个引用数组元素而不能一次引用整个数组.答案:Y第13题(1.0分)如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准.答案:Y第14题(1.0分)C程序中有调用关系的所有函数必须放在同一个源程序文件中.答案:N第15题(1.0分)通过return语句,函数可以带回一个或一个以上的返回值.答案:N三、单项选择共20题(共计40分)第1题(2.0分)若k,g均为int型变量,则下列语句的输出为().k=017; g=111; printf("%d\t",++k); printf("%x\n",g++); A:15 6fB:16 70C:15 71D:16 6f答案:D第2题(2.0分)下列语句的结果是().main(){ int j;j=3;printf("%d,",++j);printf("%d",j++);}A:3,3B:3,4C:4,3D:4,4答案:D第3题(2.0分)设以下变量均为int类型,则值不等于7的表达式是().A:(x=y=6,x+y,x+1)B:(x=y=6,x+y,y+1)C:(x=6,x+1,y=6,x+y)D:(y=6,y+1,x=y,x+1)答案:C第4题(2.0分)下列程序段的输出结果为().float k=0.8567;printf("%6.1f%%",k*100);A:0085.6%%B:85.7%C:0085.6%D:.857答案:B第5题(2.0分)以下程序段的执行结果是().double x;x=218.82631; printf("%-6.2f\n",x);A:输出格式描述符的域宽不够,不能输出B:输出为21.38e+01C:输出为218.83D:输出为218.82631答案:C第6题(2.0分)以下程序的输出结果为().main(){int i=010,j=10;printf("%d,%d\n",++i,j--);}A:11,10B:9,10C:010,9D:10,9答案:B第7题(2.0分)为了避免在嵌套的条件语句 if-else 中产生二义性,C语言规定: else子句总是与()配对.A:缩排位置相同的ifB:其之前最近的ifC:其之后最近的ifD:同一行上的if答案:B第8题(2.0分)下列运算符中优先级最高的是().A:<B:+C:&&D:!= 答案:B第9题(2.0分)选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为"真"或"假".哪个数作为逻辑"假"值().A:-1B:1C:非零的数D:0 答案:D第10题(2.0分)执行语句 for(i=1;i++<4;); 后变量 i 的值是().A:3B:4C:5D:不定答案:C第11题(2.0分)下列程序的输出为().main(){ int y=10;while(y--);printf("y=%d\n",y);}A:y=0B:while构成无限循环C:y=1D:y=-1答案:D第12题(2.0分)while(fabs(t)<1e-5)if(!s/10)break;循环结束的条件是(). A:t>=1e-5&&t<=-1e-5&&s>-10&&s<10B:fabs(t)<1e-5&&!s/10C:fabs(t)<1e-5D:s/10==0答案:A第13题(2.0分)对 for(表达式1; ;表达式3) 可理解为().A:for(表达式1;0;表达式3)B:for(表达式1;1;表达式3)C:for(表达式1;表达式1;表达式3)D:for(表达式1;表达式3;表达式3)答案:B第14题(2.0分)语句while(!E);中的表达式!E等价于().A:E==0B:E!=1C:E!=0D:E==1答案:A第15题(2.0分)C语言中 while 和 do-while 循环的主要区别是().A:do-while 的循环体至少无条件执行一次B:while的循环控制条件比 do-while的循环控制条件更严格C:do-while 允许从外部转到循环体内D:do-while 的循环体不能是复合语句答案:A第16题(2.0分)char a1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是().A:strcat(a2,a1);B:strcpy(a2,a1);C:strcat(a1,a2);D:strcpy(a1,a2);答案:A第17题(2.0分)若char a[10];已正确定义,以下语句中不能从键盘上给a数组的所有元素输入值的语句是().A:gets(a);B:scanf("%s",a);C:for(i=0;i<10;i++)a[i]=getchar();D:a=getchar();答案:D第18题(2.0分)以下不能对二维数组a进行正确初始化的语句是().A:int a[2][3]={0};B:int a[][3]={{1,2},{0}};C:int a[2][3]={{1,2},{3,4},{5,6}};D:int a[][3]={1,2,3,4,5,6};答案:C第19题(2.0分)若有说明: int a[3][4]={0};则下面正确的叙述是().A:只有元素a[0][0]可得到初值0B:此说明语句不正确C:数组a中各元素都可得到初值,但其值不一定为0D:数组a中每个元素均可得到初值0答案:D第20题(2.0分)对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是().A:将5个初值依次赋给a[1]至a[5]B:将5个初值依次赋给a[0]至a[4]C:将5个初值依次赋给a[6]至a[10]D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B 四、程序填空共2题(共计12分)第1题(6.0分)【程序填空】题目:以下程序的功能是统计一个字符串中的字母、数字、空格、和其它字符的个数。