安徽大学C语言考试试卷1
- 格式:doc
- 大小:70.00 KB
- 文档页数:8
安徽大学c语言考试题及答案安徽大学C语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的叙述,错误的是()。
A. 变量必须先定义后使用B. 变量的值在定义时可以不初始化C. 变量的类型必须一致D. 变量可以在定义时初始化2. C语言中,字符串常量存储在()。
A. 栈区B. 堆区C. 数据区D. 文字常量区3. 在C语言中,以下哪个关键字用于定义指针类型?()A. charB. intC. floatD. ptr4. 下面哪个函数不是C标准库函数?()A. printf()B. scanf()C. malloc()D. strcpy()5. C语言中,sizeof运算符的作用是()。
A. 返回变量的值B. 返回变量的地址C. 返回变量的数据类型D. 返回变量占用的字节大小6. 在C语言中,以下哪个不是合法的用户定义标识符?()A. _2startB. classC. floatD. int_var7. C语言中,函数的返回值类型必须与函数定义中的类型一致,这是指()。
A. 函数名B. 返回值C. 函数体D. 函数的参数8. 下列关于C语言数组的描述,错误的是()。
A. 数组名代表数组的起始地址B. 数组元素的下标从0开始C. 数组在内存中是连续存储的D. 数组一旦定义,其长度不能改变9. C语言中,结构体定义的关键字是()。
A. structB. unionC. enumD. type10. 在C语言中,若想从键盘输入一个字符,可以使用()函数。
A. getchar()B. scanf("%c", &c)C. printf("%c")D. puts("Enter a character: ")二、填空题(每空3分,共30分)11. 在C语言中,一个整型变量int所占用的字节数是_________。
12. 函数_________可以用来计算两个浮点数之间的绝对值差。
安c考试题目及答案一、单项选择题(每题2分,共10题)1. C语言中,用于定义变量的关键字是:A. varB. letC. intD. define答案:C2. 下列哪个选项是C语言中的逻辑运算符?A. %B. ||C. &&D. &答案:C3. 在C语言中,以下哪个函数用于计算两个数的和?A. max()B. pow()C. sqrt()D. sum()答案:D4. 若有以下代码段:```cint a = 5, b = 10;a = b;```执行后,变量a的值是:A. 5B. 10C. 15D. 0答案:B5. C语言中,用于输出字符串的函数是:A. printf()B. scanf()C. gets()D. puts()答案:D6. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 递归结构答案:D7. 在C语言中,以下哪个关键字用于定义函数?A. functionB. defC. voidD. int答案:C8. 若有以下代码段:```cint x = 3;while(x > 0) {printf("%d ", x--);}```执行后,输出的结果是:A. 3 2 1B. 3 2 1 0C. 3 2D. 3 2 1 -1答案:A9. C语言中,用于定义数组的关键字是:A. arrayB. listC. vectorD. int[]答案:D10. 下列哪个选项是C语言中的位运算符?A. &&B. ||C. &D. %答案:C二、填空题(每题3分,共5题)1. 在C语言中,使用____关键字可以定义一个结构体。
答案:struct2. 若要声明一个指向int类型的指针变量,应使用____关键字。
答案:*3. 在C语言中,使用____函数可以获取当前时间。
答案:time()4. 使用____语句可以定义一个函数。
安徽省c语言笔试题目及答案安徽省C语言笔试题目及答案1. 以下选项中,哪个是C语言中用于声明一个整型变量的关键字?A. floatB. intC. charD. double答案:B2. 假设有以下C语言代码段:```cint a = 10;int b = 20;int c = a + b;```执行后,变量c的值是多少?A. 30B. 10C. 20D. 0答案:A3. C语言中,用于定义一个函数的关键字是什么?A. defineB. functionC. defD. void答案:B4. 下列哪个选项是C语言中合法的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello World"D. "Hello, World"答案:A5. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. <=D. >=答案:A6. 以下代码段中,哪个变量的值会在执行后发生变化?```cint x = 5;int y = 10;int z = x + y;x = y;```A. xB. yC. zD. 以上都不是答案:A7. 在C语言中,用于定义一个空指针的关键字是什么?A. nullB. nilC. voidD. NULL答案:D8. 以下哪个选项是C语言中用于循环的关键字?A. forB. whileC. doD. All of the above答案:D9. 在C语言中,以下哪个函数用于将字符串连接到另一个字符串的末尾?A. strcat()B. strcpy()C. sprintf()D. printf()答案:A10. 如果一个函数的返回类型是void,这意味着什么?A. 函数不返回任何值B. 函数返回一个整数C. 函数返回一个浮点数D. 函数返回一个字符答案:A11. 下列哪个选项是C语言中用于定义一个结构体的关键字?A. structB. unionC. enumD. typedef答案:A12. 在C语言中,以下哪个关键字用于定义一个数组?A. arrayB. listC. vectorD. None of the above答案:D13. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strcat()C. sprintf()D. printf()答案:A14. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. unionC. structD. typedef答案:A15. 下列哪个选项是C语言中用于定义一个宏的预处理器命令?A. #defineB. #includeC. #importD. #pragma答案:A16. 在C语言中,以下哪个关键字用于定义一个联合体?A. unionB. structC. enumD. typedef答案:A17. 在C语言中,以下哪个函数用于打开一个文件?A. fopen()B. fclose()C. freopen()D. fgetc()答案:A18. 在C语言中,以下哪个函数用于关闭一个文件?A. fopen()B. fclose()C. freopen()D. fgetc()答案:B19. 在C语言中,以下哪个关键字用于定义一个单例类型?A. enumB. structC. unionD. typedef答案:A20. 在C语言中,以下哪个函数用于读取一个字符?A. getchar()B. getc()C. fgetc()D. All of the above答案:D。
1.一个C程序的执行是从。
A. 本程序的main函数开始,到main函数结束B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本程序文件的第一个函数开始,到本程序main函数结束2. C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。
A.必须为字母B.必须为下划线C. 必须为字母或下划线D. 可是字母、数字或下划线中任一字符3.下面四个选项中,不合法整型常量的选项是。
A.160B.-0x48aC.011D.06684.若x、i、j和k都是int型变量,则执行表达式:x=(i=4,j=16,k=32)后,x的值为。
A. 4B. 16C. 32D. 525.已知ch是字符型变量,下面不正确的赋值语句是。
A. ch=’a+b’B. ch=’\0’C. ch=’7’+’9’D. ch=7+96.设有int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为。
A. 1B. 2C. 3D. 47. 下列函数定义中,正确的是。
A. void f(int x)B. int f(int *x,int *y){ return(x); } { return(y); }C. int *f(int x,int *y)D. void f(int x,int *y){ return(y);} { return(x+*y); }8. 设有定义:float x,*p=&x;则下列表达式中错误的是。
A. *&pB. *&xC. &*pD. &*x9. 下列数组定义语句中,错误的是。
A. char a[2][3]={{ˊaˊ},{ˊbˊ}};B. int a[][2]={1,2,3,4,5,6};C. int a[][3]={1,2,3,4,5,6};D. int a[][]={{1,2,3},{4,5,6}}; 10.若有定义:int (*p)[4];则标识符p 。
安徽省c语言笔试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,错误的是()。
A. 变量必须先定义后使用B. 变量的类型决定了变量的存储空间C. 变量的值在定义时必须初始化D. 变量的命名必须符合标识符的规则答案:C2. C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 在C语言中,以下哪个选项不是合法的整型常量?A. 0x1AB. 0123C. 1.2E3D. 0b1010答案:C4. 以下哪个函数不能正确地将字符串s复制到字符串t中?A. strcpy(t, s)B. strncpy(t, s, sizeof(t))C. strcat(t, s)D. strncat(t, s, sizeof(t))答案:C5. 在C语言中,以下哪个选项是正确的文件打开模式?A. "r+"B. "w"C. "a+"D. "rb"答案:A6. 下列关于C语言中数组的描述,正确的是()。
A. 数组的索引从1开始B. 数组的大小在定义时确定C. 数组可以存储不同类型的数据D. 数组可以动态分配大小答案:B7. 在C语言中,下列哪个关键字用于定义函数?A. intB. voidC. returnD. struct答案:A8. 以下哪个选项不是C语言中的控制语句?B. forC. whileD. switch答案:D9. C语言中,以下哪个选项是正确的指针声明?A. int *p;B. int *p = 0;C. int *p = 10;D. int *p = "hello";答案:A10. 在C语言中,以下哪个选项是正确的注释?A. // This is a single line commentB. /* This is a single line comment */C. /* This is a multi-line commentD. // This is a multi-line comment答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个函数。
C语言复习题一、填空题1.执行char ch=’A’;ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch;语句后,ch的值是。
2. i为int型变量,且初值为3,有表达式i++-3; ,则该表达式的值为,变量i的值是。
3.若x=1,y=2,z=3,则表达式z+=++x+y++;之值为。
4.若a=1,b=2,c=3,则执行表达式(a>b)&&(c++);后,c的值为。
5.设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值。
(1)(x&&y)==(x||z);(2)!(x>y)+(y!=z)||(x+y)&&(y-z);(3)x++-y+(++z);6.若已说明x,y和z均为int型变量,请写出下列输出语句的输出结果。
(1)x=y=z=0;++x||++y&&++z;printf(“x=%d\ty=%d\tz=%d\n”,x,y,z);(2)x=y=z=-1;X++&&--y&&z--||--x;printf(“x=%d\t y=%d\t z=%d\n”,x,y,z);7.已知字母A的ASCII为65,以下程序运行后的输出结果是。
void main(){ char a,b;a=’A’+’5’-‘3’; b=a+’6’-‘2’;printf(“%d,%c\n”,a,b);}8.对于所定义的二维数组a[2][3],元素a[1][2]是数组的第个元素。
二、选择题1.以下能正确定义且赋初值的语句是A. int n1=n2=10B. char c=32C.float f=f+1.1D.double x=12.3E2.52.有以下程序:void main(){int a=0,b=0;a=10;b=20;printf(“a+b=%d\n”,a+b);}程序运行后的输出结果是。
安徽大学20 -20 学年第 学期《C 语言程序设计》期末考试试卷(A 卷120分钟)年级 院系专业 姓名 学号 座位号一. 单项选择题:(每题2分,共40分)下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。
答在试卷上不得分。
1.下面程序段执行后,a 的值是______。
int a;printf("%d \n", (a=3*5, a*4, a+5) ); A)60 B)20 C)15 D)102.下列程序段的输出是______。
int x=023;printf("%d \n", --x );A)19 B)18 C)23 D)223.执行下列语句后,a的值是______。
int a=8; a+=a-=a*a;A)-240 B)64 C)112 D)-1124.执行下列语句后,输出的值是______。
int x=6;printf("%d,%d,%d\n",x,x++,--x);A)5,5,5 B)6,5,5 C)7,6,5 D)5,6,55.指出下列程序段所表示的逻辑关系是______。
if(a<b) {if(c==d) x=1; } else x=2;A)若a<b 且c=d ,则x=1;若a>=b 且c!=d ,则x=2。
B)若a<b 且c=d ,则x=1;若a>=b ,则x=2。
C)若a<b 且c=d ,则x=1;若a<b 且c!=d ,则x=2。
D)若a<b 且c=d ,则x=1;若c!=d ,则x=2。
6.下列程序段的执行结果是______。
int i,x;for(i=1,x=1;i<=20;i++){if(x>=10) break;if(x%2==1){x+=5;continue;}x-=3;}printf("%d,%d\n",x,i);A)6,4 B)7,5 C)10,6 D)14,77.下列程序的执行结果是______。
安徽大学计算机基础C语言选择题1、能将高级语言编写的源程序转换成目标程序的是______。
A) 编辑程序 B) 编译程序 C) 解释程序 D) 链接程序参考答案: B2、以下选项中合法的用户标识符是______。
A) long B) _2Test C) 3Dmax D) A.dat参考答案: B3、在一个C语言程序中A) main函数必须出现在所有函数之前B) main函数必须出现在所有函数之后C) main函数可以在任何地方出现D) main函数必须出现在固定位置删除参考答案: C4、下列关于C语言用户标识符的叙述中正确的是A) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头B) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头C) 用户标识符中不可以出现中划线,但可以出现下划线D) 用户标识符中可以出现下划线和中划线(减号)参考答案: C5、已知 int a=2,b=1,c;执行语句c=b/a+2.5后, c的值____。
A) 2.5 B) 3 C) 3.0 D) 2参考答案: D6、已知:char a;int b;float c;double d;执行语句"c=a+b+c+d;"后,变量c的数据类型是。
A) int B) char C) float D) double参考答案: C7、已知inti=10;表达式"20-5<=i<=9"的值是____。
A) 0 B) 1 C) 19 D) 20参考答案: B8、为判断字符变量c的值不是数字也不是字母时,应采用下述表达式____。
A) c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122B) !(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)C) c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122D) !(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)参考答案: D9、已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是____。
安徽省c语言考试题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义变量的关键字是:A. varB. letC. intD. define答案:C2. 下列哪个选项是合法的C语言常量?A. 0.1E+2B. 0.1e2C. 1.23eD. 1.23E答案:B3. 在C语言中,用于定义一个整型数组的关键字是:A. arrayB. listC. intD. vector答案:C4. 下列哪个选项是C语言中的合法字符串?A. "Hello, World!"B. 'Hello, World!'C. "Hello\nWorld"D. "Hello\World"答案:A5. C语言中,用于定义一个函数的关键字是:A. functionB. defC. defineD. void答案:D6. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. variable$2答案:C7. 在C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. ==答案:A8. 下列哪个选项是C语言中的合法浮点数?A. 3.14159B. .3.14159C. 3.14.159D. 3.14159e答案:A9. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. classD. typedef答案:A10. 下列哪个选项是C语言中的合法指针声明?A. int *p;B. int *p[];C. int (*p)();D. int (*p)[5];答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符型变量的关键字是____。
答案:char2. 在C语言中,用于表示逻辑“或”操作的运算符是____。
安徽大学《C语言程序设计》考试一、单项选择题(每小题2分,共20分):1、“strlen("\\141\141abc\t")”的返回值是【______】。
A. 14B.12C.13D.92、下面程序段执行后,a的值是【______】。
int a;printf("%d \n", (a=4*5, a*4, a+5) );A. 60B. 20C. 15D. 101.判断字符串s1与字符串s2相等,应当使用【_______】。
A. if (s1 = s2)B. if (strcmp(s1, s2))C. if (!strcmp(s1, s2))D. if (strcmp(s1, s2) = 0)2.若有定义int (*p)[4],则标识符p是一个【_______】。
A. 指向整型变量的指针变量B. 指向函数的指针变量C. 指向有四个整型元素的一维数组的指针变量D. 指针数组名,有四个元素,每个元素均为一个指向整型变量的指针3.下列程序的执行结果是【_______】。
#include "stdio.h"#include "string.h"void main( void ){char s[10]={ 'H', 'e', 'l', 'l', 'o'};printf("%d\n",strlen(s));}A. 5B. 6C. 10D. 114.下列对字符串的定义中,错误的是【______】。
A. char str[7] = "FORTRAN";B. char str[] = "FORTRAN";C. char *str = "FORTRAN";D. char str[] = {'F','O','R','T','R','A','N',0};5.以下程序的输出结果是【______】。
安徽大学2008----2009学年第二学期 C语言程序设计期末试题学院专业级学号姓名得分一、单项选择题(30分,每题2分)每小题的四个选项中只有一个符合题目要求,请将正确选项前字母填在括号中。
1.若int a[][3]={1,2,3,4,5,6};则a[1][0]的值是【______】。
A. 4B. 2C. 1D. 52.执行下列程序段后,变量k的值是【______】。
int k=3, s[2];s[0]=k;k = s[1]*10;A)不确定B)0C)10 D)303.执行下列程序段后,变量k的值是【______】。
int k=3, s[2]={1};s[0]=k;k = s[1]+10;A)不确定B)0C)10 D)304.下面程序的输出结果是【______】。
#include <stdio.h>void main(void){int i, a[10];for(i=9;i>=0; i--)a[i]=10-i;printf("%d%d%d\n",a[2],a[5],a[8]);}A)258 B)741C)852 D)3695.下面程序的输出结果是【______】。
#include <stdio.h>void main(void){int a[3][3]={1,2,3,4,5,6,7,8,9},i;for(i=0;i<3; i++)printf("%d ",a[i][2-i]);}A)1 5 9 B)3 5 7C)1 4 7 D)3 6 96.下面程序的输出结果是【______】。
#include "stdio.h"void fun(int a[]){int i;for(j=0;j<5; j++)a[j]=j;}void main(void){int num[]={5,6,7,8,9}, i;fun(num);for(i=0;i<5; i++)printf("%d ", num[i]);}A. 56789B. 98765C. 01234D. 432107.下面程序的输出结果是【______】。
#include "stdio.h"void main(void){char c1[]="ABCD",c2[5];int i;for(i=0;i<4;i++)c2[i]=(c1[i]-'A'-3+26)%26+'a';c2[4]='\0';puts(c2);}A. abcdB. ABCDC. XYZAD. xyza8.下面程序的输出结果是【______】。
#include <stdio.h>void main(void){int n=6, *p=&n;*p=8;printf("%d\n",n);}A. 8B. 6C. 7D. 不确定9.下面程序的输出结果是【______】。
#include <stdio.h>void main(void){int a=3, b=6, c=9;int *pa=&a, *pa=&b, *p;*(p=&c)=*pa*(*pb);printf("%d\n",c);}A. 8B. 18C. 27D. 910.下面程序的输出结果是【______】。
#include <stdio.h>void main( void ){char a[]={0,1,2,3,4,5,6,7,8,9}, *p=a;printf("%d, %d\n", *p+3, *(p+6));}A. 2,2B. 3,5C. 3,6D. 3,711.下面程序的输出结果是【______】。
#include <stdio.h>void main( void ){short a[]={1,3,5,7,9}, *p, **k;p=a;k=&p;printf("%d, ", *(p++));printf("%d, ", * *k);}A. 2,2,B. 3,5,C. 1,3,D. 1,312.下面程序的输出结果是【______】。
#include <stdio.h>void main( void ){int a[]={2,4,6,8,10};int *p=&a[4];printf("%d, \n", *--p);}A. 10B. 9C. 7D. 813.“strlen("\\141\141abc\t")”的返回值是【______】。
A. 9B. 12C. 13D. 1414.若char s[10]; s="abcd";printf("%s",s);程序的输出结果是【______】。
A. abcdB. aC. dcbaD. 编译错误15.下面函数中能正确交换x和y中的值,且返回交换结果的是【______】。
A. fun(int *x,int *y) {int *p; *p=*x;*x=*y;*y=*p}B. fun(int x,int y) {int t;t=x;x=y;y=t; }C.fun(int *x,int *y) {*x=*y;*y=*x; }D.fun(int *x,int *y) { int p; p=*x;*x=*y;*y=p;}二、填充题(30分,每空2分)1.C程序可以分为三种基本结构,即_______。
2.C语言中的_______语句提前结束本次循环,跳过循环体中位于该语句后的所有语句,进入下一轮循环。
3.数组中的元素类型_______,并由数组名和下标唯一地确定。
4.定义int a[2][4];,数组a中可以容纳______个整数。
5.设整型变量m和n的值均为6,则执行语句do m++;while (--n>0)后,变量m的值是_______。
6.若char s[]="123456",*p=s+1;则表达式“*p+1”值对应的字符是_______。
7.设字符型变量m的值为'm',执行语句if (m>='a'&&m<='z') m-=32;后,变量m中的字符是____________。
8.设整型变量k的值为0,则循环语句“while (k++<9) k++;”的循环体一共执行_______次。
9.若char s[10]="ABCD\0\t",则字符型数组s中存放的字符串长度是________。
10.若int a[][3]={{1,2,3},{4,5,6}},(*p)[3]=a;则表达式*(*p+1)的值是______。
11.C语言在判断一个量是否为“真”时,以_______代表“真”,以0代表“假”。
12.C语言中只能用于循环和switch~case结构的语句是______。
13.C语言中通过#______命令可以定义符号常量。
14.对于数组x[5][5],*(x+2)+3表示__________。
15.对于数组x[5][5],*(x[3]+2)表示__________。
三、程序设计题(40分,每空2分)1.用C语言编程求百元买百鸡问题:用一百元钱买一百只鸡。
已知公鸡5元/只,母鸡3元/只,小鸡1元/3只。
问公鸡、母鸡、小鸡各买多少只?#include <stdio.h>void main( void ){int x, y, z;for (x=_______;x<=100;x++)for (y=0; _______<=100;y++){z=_______-x-y;if (5*x+_______*y+z/_______==100 )printf(“cocks=%d,hens=%d,chickens=%d\n",x,y,z);}}2.用C语言编写一个函数,将指定的自然数分解成质因子的连乘积,例如:88=2*2*2*11。
void fun( int n ){int i;printf("%d=",n);for(i=_______; i<=n; i++)while(n!= _______){if(n%i==_______){printf("%d*",i);n=n/_______;}else_______;}printf("%d",n);}3.用C语言编写一个函数atoi,将一个整数字符串转换成一个整数,"512"==>512。
_______ atoi( char str[] ){int value=_______, i=0;while(str[i]!= '_______'){value = value *_______+str[i]- '0';i_______;}}4.用C语言编写一个函数对指定的4×4矩阵查找最大值所在的行列号。
#include <stdio.h>void maxval(double num[4][4]){int i,j,max,row=0, _______;max=_______;for(i=0;i<4;i++)for(j=1;j<4;j++)if(max<num[i][j]){max =_______;row =_______;col =_______;}printf("The max one is num[%d][%d]=%lf:\n",row,col,max); }。