if(strcmp(argv[k], p)>0) p=argv[k];
printf("%sn", p);
}
11. 下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。程序的输出结果是:After swap 5, 3。
void main( )
{ int a=3, b=5;
swap( &a, &b ) ;
printf("After swap %d, %d", a, b);
}
swap( int *p, int *q )
{ int t;
t=*p; ;
*p=*q ;
*q=t ;
}
专升本C语言历年考试题及答案一、单项选择题
1.?? C语言源程序文件经过C编译程序编译连接之后生成一个后缀为__C____的文件。
??? A、”.c”????? B、“.obj”?????? C、“.exe”????? D、“.bas”
2.?? 以下选项中不正确的整型常量是_C____。
??? A、 12L??????? B、 -10???????? C、 1,900????? D、 123U
3.?? 表达式___C___的值是0。
A、3%5??????
B、3/5.0????????
C、3/5????????
D、3<5
4.?? 表达式 !(x>0||y>0) 等价于__D___。
A、!x>0||!y>0???????
B、!(x>0)||!(y>0)????
C、!x>0&&!y>0???
D、!(x>0)&&!(y>0)
5.?? 若变量已正确定义并赋值,表达式__D____不符合C语言语法。
A、4&&3???
B、+a????
C、a=b=5???????
D、int(3.14)
6.?? 若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,___B___是正确的输入。
?? A、2030,40????? B、20 30 40?? C、20, 30 40??? D、20, 30,40
7.?? 执行语句printf(” __D____”,? 2); 将得到出错信息。
A、%d????
B、%o???????
C、%x???
D、%f
8.?? 设变量定义为“int s[ ]="hello\nworld\n";”,则数组s中有__B____个元素。
A、12????????
B、13????????
C、14????????
D、15
9.?? 设变量定义为“int a[2]={1,3}, *p=&a[0]+1;”,则*p的值是___B__。
A、2??????????
B、3??????????
C、4????????
D、&a[0]+1
10.? 若变量已正确定义并赋值,表达式 -k++ 等价于__A____。
A、-(k++)???
B、(-k)++????
C、-(k+1)???????
D、-(++k)
11.? 在C 语言程序中,在函数内部定义的变量称为__D____。
A、全局变量????
B、全程变量???
C、外部变量?
D、内部变量
12.? 若x是整型变量,表达式 (x=10.0/4.0) 的值是__D___ 。
A、2.5???????
B、 2.0?????
C、 3?????
D、2
13.?? 对于以下的变量定义,表达式__A____是正确的。
?????? struct node {
????????????? char s[10];
????????????? int k;
?????? } p[4];
A、p->k=2??????
B、p[0].s=“abc”???????
C、p[0]->k=2??????
D、p->s=‘a’
14.?? 下列运算符中,优先级从高到低依次为__D___。
A、&&,!,||???????
B、||,&&,!????
C、&&,||,!??????
D、!,&&,||
15.?? 下列程序段的输出结果是__B___。
int? *p,? *q,? k = 1, j=10 ;
p=&j; q = &k ;? p = q ; (*p)++;
printf("%d",*q);
A、1????????
B、2????????
C、10????????
D、11
16.以下各选项企图说明一种新的类型名,其中正确的是水量(C)
A) typedef v1 int; B) typedef v2=int;
C) typedefv1 int v3; D) typedef v4: int;
17. 以下选项中,非法的字符常量是(C)
A) ‘\t’ B) ‘\17’ C)“n” D) ‘\xaa’
18. 以下程序的输出结果是(C)
main()
{ int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf(“%d%d%d”,a[2],a[5],a[8]);
}
A) 258 B) 741 C) 852 D) 369
19. 以下程序的输出结果是(B)
main()
{ char st[20]= “hello\0\t\\\”;
printf(%d %d \n”,strlen(st),sizeof(st));
}
A) 9 9 B) 5 20 C) 13 20 D) 20 20
20. 以下程序的输出结果是(D)
main()
{ int a, b;
for(a=1, b=1; a<=100; a++)
{ if(b>=10) break;
if (b%3= =1)
{ b+=3; continue; }
}
printf(“%d\n”,a);
}
A) 101 B) 6 C) 5 D) 4
21. 以下程序的输出结果是(D)
union myun
{ struct
{ int x, y, z; } u;
int k;
} a;
main()
a.k=0;
printf(%d\n”
}
A) 4 B) 5 C) 6 D) 0
22. 以下程序段的输出结果是 (A)
char s[]="\\141\141abc\t";
printf ("%d\n",strlen(s));
A) 9 B) 12 C) 13 D) 14
23. 以下程序的输出结果是 (B)
main()
{ char ch[3][5]={"AAAA","BBB","CC"};
printf("\"%s\"\n",ch[1]);
}
A) "AAAA" B) "BBB" C) "BBBCC" D) "CC"
24. 不合法的main函数命令行参数表示形式是 (C)
A) main(int a,char *c[]) B) main(int arc,char **arv)
C) main(int argc,char *argv) D) main(int argv,char *argc[])
25. 有以下程序
main()
{ char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
执行后输出结果是 (C)
A) n,two B) t,one C)w,one D) o,two
26. 设有如下说明
typedef struct
{ int n; char c; double x;}STD;
则以下选项中,能正确定义结构体数组并赋初值的语句是 (A)
A) STD tt[2]={{1,'A',62},{2, 'B',75}};
B) STD tt[2]={1,"A",62},2, "B",75};
C) struct tt[2]={{1,'A'},{2, 'B'}};
D)structtt[2]={{1,"A",62.5},{2, "B",75.0}};
27. 若变量c为char类型,则能正确判断出c为小写字母的表达式是( D )。
A) 'a'<=c<= 'z' B) (c>= 'a')||(c<= 'z')
C) ('a'<=c)and ('z'>=c) D) (c>= 'a')&&(c<= 'z')
二、填空题
1. 设ch是字符型变量,判断ch为英文字母的表达式是:
(ch>=’A’&&ch,=’Z’)||(ch>=’a’&&ch<=’z’) __。
2. 计算下列分段函数的 if 语句是_ if(x>0)y=1;else if(x=0)y=0;else y=-1;___。
1 x>0
y= 0 x=0
-1 x<0
3. 表达式 !!5的值是__1____。
4. 下列程序段的输出结果是___12___。
printf("%xn", (0x19 <<1) & 0x17);
5. 下列程序段的输出结果是__ k=4 s=6___。
int k, s;
for(k=0, s=0; k<10; k++)
if (s>k) break ;
else s += k;
printf("k=%d s=%d", k, s);
6. 下列程序段的输出结果是__15___。
#define MIN(x,y) (x)<(y)?(x) : (y)
printf("%d",10*MIN(10,15));
7. 下列程序在运行时可能会出错,原因是__指针变量s未赋初值____。
# include
void main( )
{ char *s;
gets(s);
puts(s);
}
8. 下列程序段的输出是___6 0__。
# include
int f(int m)
{ static int k=0;
int s=0;
for(; k<=m; k++) s++;
return s;
}
void main( )
{ int s1, s2;
s1=f(5);
s2=f(3);
printf("%d %d\n", s1, s2);
}
9. 下列程序段的输出结果是__ fgh ___。char *st[ ]={"abcd","efgh","ijkl","mnop"}; printf("%s", *(st+1)+1);
10. 用typedef定义一个含10个元素的整型数组ARR。
typedef int ARR[10];
11.以下程序调用findmax函数返回数组中的最大值,请填空。
findmax(int *a,int n)
{ int *p,*s;
for(p=a,s=a; p-a
if ( *p>*s ) s=p;
return(*s);
}
main()
{ int x[5]={12,21,13,6,18};
printf("%d\n",findmax(x,5));
}
三、程序(段)填空题
1.设变量x, y, z已正确定义和赋值,请仔细阅读程序段A,然后在程序段B中填入正确的内容,使程序段A和程序段B有相同的功能。
程序段A
程序段B
x=x+y;
y=x-y;
x=x-y;
z=x+y;
z=x ;
x=y ;
y=z;
z=x+y;
2.请仔细阅读函数f1,然后在函数f2中填入正确的内容,使函数f1和函数f2有相同的功能。
char *f1(char s[ ], char t[])
{ int k;
for(k=0; t[k]!=' '; k++)
s[k]=t[k];
s[k]=' ';
return s;
}
专升本C语言历年考试题及答案
一、用C语言描述下列命题(共8小题,每小题3分,计24分)
1..y为int型,满足能同时被3,5整除的表达式。
2.把下列数学表达式转换为C语言表达式。
3.表示CH不是小写英文字母的表达式。
4.条件10<|a-b|<20的C语言表达式。
5.x,y和z均为int型,x和y中仅有一个小于z。
6.定义一个数组a[10],其数组元素为指向float的指针。
7.定义一个交通信号灯(Transportation_light)的枚举类型及其变量light。其中列举的常量有红,黄,绿(red,yellow,green)三色控制灯。
8..写出一个函数f1()的说明部分,函数的返回值为指向int数据的指针。
二、根据要求画出NS图或流程图(共1小题,每小题6分,计6分)
1.有一分数序列:
试求前10项之和。
三、程序阅读题(共4小题,每小题5分,计20分)
1.#include
void main()
{int x,y;
for(x=1;x<3;x++)
{for(y=1;y<3;y++)
printf("%2d",x*y);
printf("\n");
}
}
程序运行后的输出结果为:
2.#include
int a[]={0,1,2,3,4,5,6,7,8,9};
int f(int n)
{ if(n==1)
return a[0];
else
return((n*f(n-1)+a[n])/(n+1));
}
void main()
{int n=6;
printf("f(%d)=%d",n,f(n));
}
程序运行后的输出结果为:
3.#include
struct type
{int num;
int age;
float wage;
};
void main()
{struct type teac;
teac.num=105;
teac.age=28;
teac.wage=342.5;
pr(teac);
}
void pr(struct type parm)
{
printf("%d,%d,%6.2f\n",parm.num,parm.age,parm.wage); }
程序运行后的输出结果为:
4.#include
char prn_str(char *str,int m,int n)
{int i;
for(i=1;i<=m-n;i++)
printf(" ");
for(i=1;i<=n;i++)
printf("%c",*str++);
printf("\n");
}
void main()
{char *p="Teacher";
prn_str(p,6,4);
}
程序运行后的输出结果为:
四、程序填空(共3小题,每小题6分,计18分)
1.#include
void main()
{int a,b,c,i;
a=c=0;
for(i=0;i<=20;i+=2)
{ a+=i;
____;
c+=b;
}
printf("偶数和=%d\n",a);
printf("奇数和=%d\n",____);
}
2.#include
void sort(char a[],int n)
{int i,j,post;
char t;
for (i=0;i{____;
for(j=i+1;jif____)post=j;
t=a[post];a[post]=a[i];a[i]=t;
}
}
void main()
{char s[10];
int i;
for(i=0;i<10;i++)
scanf("%c",&s[i]);
____;
printf("the sorted array:\n");
for(i=0;i<10;i++)
printf("%c",s[i]);
printf("\n");
}
3.#include
int maxvalue(int(*p)[4])
{int i,j,min;
min=____;
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
最新c语言程序设计专升本考试题库大全
最新c语言程序设计专升本考试题库大全c语言程序设计专升本考试题库篇一 1).若变量已正确定义并赋值,以下符合c语言语法的表达式是 a.a:=b+1 b.a=b=c+2 18.5%3 d.a=a+7=c+b 正确答案:b 答案解析:选项a中包含一个不合法的运算符":=";选项c应改为(int)18.5%3;选项d可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为c语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。因此,正确答案是选项b,它实际上相当于a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。 2).结构化程序设计的基本原则不包括() a.多元性 b.自顶向下 c.模块化 d.逐步求精 正确答案:a
答案解析:结构化程序设计方法的主要原则可以概括为:自顶向下, 逐步求精,模块化和限制使用goto语句,其中不包括多态性。 3).下面选项中关于位运算的叙述正确的是() a.位运算符都需要两个操作数 b.左移运算的结果总是原操作数据2倍 c.右移运算时,高位总是补0 d.位运算的对象只能是整型或字符型数据 正确答案:d 答案解析:位运算则是以位(bit)一级进行的运算,位运算符中除″~″以外,均为二元运算符,即要求两侧各有一个运算量,运算量只能是整型 或字符型的数据,不能为实型数据。其中右移时,右端(低位)移出的二进 制数舍弃,左端(高位)移入的二进制数分两种情况:对于无符号整数和正 整数,高位补0;对于负整数,高位补1、而左移运算在没有溢出的前提下 每移动一位,相当于原数据的2倍。 4). 定义无符号整数类为uint,下面可以作为类uint实例化值的是( ) a.-369 b.369 c.0.369 d.整数集合{1,2,3,4,5} 正确答案:b
湖北专升本c语言真题及答案解析
湖北专升本c语言真题及答案解析C语言真题及答案解析 考试是湖北省的一项重要考试,对于考生来说,掌握真题及答案解析是提升成绩的重要方法之一。本文将给出一些常见的C语言真题及答案解析,希望能对考生有所帮助。 第一题: ```c #include int main() { int i = 3, j = 4, k, m; k = (--i) + (j++) + (i++); m = (i++) + (--j) + (j++); printf("k=%d, m=%d\n", k, m); return 0; }
``` 答案解析: 这道题主要考察了C语言中后置自增和前置自减的运算符优先级。首先,根据运算符优先级,`(--i)`和`(j++)`都比`+`优先级高,因此先计算`(--i) + (j++)`,此时`i`的值为2,`j`的值为4。由于前置自减相当于先减再使用,后置自增相当于先使用再加,所以`(--i)`的结果是1,`(j++)`的结果是4,所以计算结果为`k = 1 + 4 = 5`。接下来,计算`(i++) + (--j)`,此时`i`的值为3,`j`的值为3。先计算`(i++)`,结果为3,然后计算`(--j)`,结果为2,所以计算结果为`m = 3 + 2 = 5`。因此,最终输出的结果为`k=5, m=5`。 第二题: ```c #include int main() { int a[5] = {1, 2, 3, 4, 5}; int *p = a + 4; printf("%d\n", *(++p)); return 0;
专升本c语言真题及答案解析
专升本c语言真题及答案解析C语言真题及答案解析 近年来,随着社会的发展和对高素质人才的需求增加,考试成为许多人提升学历和职业发展的重要途径。而在考试中,C语言成为了不可或缺的一部分。以下将针对C语言真题进行解析,帮助广大考生更好地备考。 一、选择题解析 1. 下列关于C语言程序的说明中,哪个是正确的? A. 函数的定义一定在主函数前面 B. 函数的定义和主函数的定义可以随意排序 C. 主函数的定义必须在函数的定义前面 D. 函数的定义和主函数的定义不能分别放在不同的源程序文件中 答案解析:选项C正确。在C语言中,主函数的定义必须在函数的定义前面,否则编译器无法识别函数的声明,会报错。 2. 下列程序段执行后i的值为多少? int i = 5;
do{ --i; }while(i--); A. 1 B. 2 C. 3 D. 4 答案解析:选项D正确。循环语句do-while先执行一次循环体,再判断条件是否成立。在本题中,i的初始值为5,经过一次循环体后,i的值变为4。然后条件判断i--,结果为4,再次执行循环体,i的值减1变为3。此时i的值为3,满足循环条件,再次执行循环体,i的 值为2。然后条件判断i--,结果为2,再次执行循环体,i的值减1 变为1。此时i的值为1,满足循环条件,再次执行循环体,i的值为0。然后条件判断i--,结果为0,再次执行循环体,i的值减1变为-1。此时i的值为-1,不满足循环条件,循环结束。所以最终i的值为4。 二、填空题解析 1. 下列关于C语言程序的命令中,用于定义某个常量的关键字 是__。 答案解析:const。关键字const用于定义某个常量,表示该变 量的值不能被修改。
山西专升本C语言真题及答案
山西专升本C语言真题及答案 一、选择题 1.下列标识符中,不符合C语言命名规范的是() A. _intnum B. num1 C. NUM_2 D. 123num 答案:D 解析:标识符由字母、数字和下划线组成,且不能以数字开头。 2.下面哪些是C语言的关键字? A. for B. var C. if D. new 答案:A、C 解析:for和if是C语言的关键字,而var和new 不是C语言关键字。 3.在C语言中,以下哪个标识符是合法的? A. 6num *****************% 答案:B
解析:只有标识符中含有字母、数字和下划线是合法的,不能包含其他特殊字符。 4.下列哪个不是C语言的数据类型? A. char B. string C. int D. float 答案:B 解析:C语言中没有string类型,可以使用字符数组来表示字符串。 5.C语言中,以下哪个运算符优先级最高? A. = B. += C. ++ D. / 答案:C 解析:自增运算符(++)的优先级最高。 二、填空题 1.C语言中,字符型变量所占用的字节数是\\\_。 答案:1 解析:字符型变量用一个字节来存储。
2.C语言中,声明一个整型变量x并赋初值12,正确的语句是\\\_。 答案:int x = 12; 解析:在声明变量时,可以同时为变量赋初值。 3.C语言中,下面哪个不是合法的标识符? 答案:_num% 解析:标识符只能由字母、数字和下划线组成,不 能包含其他特殊字符。 4.C语言中,取变量地址的运算符是\\\_。 答案:& 解析:取地址运算符用于获取变量在内存中的地址。 5.C语言中,以下代码的输出结果是\\\_。 ```c int a = 5; printf(
专升本考试《C语言程序设计》试卷
专升本考试《C语言程序设计》试卷 一、选择题 1.C语言中,sizeof运算符返回的是什么类型的值? A. int B. float C. double D. size_t 正确答案:D. size_t 解析:sizeof运算符返回的是size_t类型的值,用于表示内存中对象的大小。 2.下列哪个选项是C语言的关键字? A. declare B. assign C. typedef D. define 正确答案:C. typedef 解析:typedef是C语言的关键字,用于定义自定义类型。 3.在C语言中,scanf函数的返回值是什么? A. 读取到的字符的个数 B. 读取到的整数 C. 读取到的字符串 D. 读取失败的标志
正确答案:A. 读取到的字符的个数 解析:scanf函数返回成功读取到的字符的个数。 4.下面哪个选项是C语言中的逻辑与运算符? A. && B. || C. ! D. & 正确答案:A. && 解析:C语言中,逻辑与运算符用&&表示。 5.在C语言中,以下哪个选项是正确的注释符号? A. // B. || C. ## D. // 正确答案:A. // 解析:在C语言中,//用于表示单行注释。 二、填空题 1.标准库函数strlen用于计算给定字符串的长度。 2.for循环的语法结构为:
for (初始表达式; 条件表达式; 增量表达式) { 循环体 } 3.C语言中,用于输出到标准输出设备的关键字是printf。 4.在C语言中,用于定义常量的关键字是const。 5.scanf函数中,格式化控制符%d用于读取整数。 三、编程题 1.编写一个C程序,实现输入两个整数,输出它们的和。 ```c #include int main() { int a, b; printf(
c语言专升本试题及答案
c语言专升本试题及答案第一部分:选择题(共10题,每题2分,共20分) 1. C语言中,以下哪个符号表示“不相等”? A. != B. == C. > D. <> 2. 在C语言中,以下关键字用于定义常量的是: A. const B. static C. extern D. register 3. 执行下列代码后,x的值是多少? int x = 10; x += x - x * 3; A. -10 B. 0 C. 10
D. 20 4. 下列代码中,哪个是合法的数组定义? A. int arr[10]; B. float arr[10.5]; C. char arr[]; D. bool arr[5]; 5. 以下哪种循环结构是“前测试循环”? A. for循环 B. while循环 C. do-while循环 D. 都不是 6. 下列代码中,哪行会引起编译错误? A. int a = 10; B. char b = a; C. float c = 2.5; D. double d = 2.5; 7. 在C语言中,以下哪个运算符具有最高优先级? A. 加法运算符(+)
B. 乘法运算符(*) C. 括号运算符(()) D. 逻辑与运算符(&&) 8. 下列代码中,哪个是正确的函数调用? A. max(5, 10); B. max(int a, int b); C. int max(int a, int b) { return a > b ? a : b; } D. int max(a, b) { return a > b ? a : b; } 9. 下列哪个关键字用于定义结构体? A. struct B. typedef C. union D. sizeof 10. 下列哪个函数用于释放动态分配的内存? A. calloc() B. realloc() C. malloc() D. free()
专升本c语言真题及答案解析大全
专升本c语言真题及答案解析大全C语言真题及答案解析大全 随着我国高等教育的普及,越来越多的人选择通过的方式提升自己的学历。而其中,C语言作为计算机专业的入门语言,是不可或缺的一门课程。为了帮助考生更好地备考C语言考试,下面将分享一些历年的真题及答案解析。 一、基础部分 1. 下面程序的输出结果是什么? #include int main() { int a = 10; if(a = 0) { printf("Hello "); }
else { printf("World "); } return 0; } 答案解析:该题主要考察的是条件判断语句。在if语句中,应该使用比较运算符“==”而不是赋值运算符“=”。因此,if(a = 0)应该修改为if(a == 0)。正确的输出结果是“Hello”。 2. 下面程序的输出结果是什么? #include int main() { char str[] = "Hello"; char *p = str; printf("%c\n", ++*p++); return 0;
} 答案解析:该题主要考察的是指针和字符串的操作。首先,++*p 表示先对指针p所指向的字符进行自增操作,即‘H’变为‘I’。然后,*p++表示取指针p所指向的字符,并将p后移一个位置,即p指向‘e’。因此,输出结果为“I”。 二、进阶部分 1. 请写出实现快速排序算法的C语言程序。 答案解析:快速排序是常用的排序算法之一。以下是一个简单的快速排序算法的实现: #include void quickSort(int arr[], int left, int right) { if(left >= right) { return; } int i = left;
山西专升本c语言真题及答案解析
山西专升本c语言真题及答案解析C语言真题及答案解析 前言: C语言作为一门基础性的编程语言,广泛应用于软件开发、嵌入式系统等领域。对于那些想要进一步深入学习计算机科学知识的人来说,掌握C语言是必不可少的。而考试中的C语言部分,更是考察考生对C语言基础知识掌握和运用的能力。 一、真题展示 下面是一道C语言真题: 1. 下面关于数组的说法中,正确的是: A. 数组是一个具有相同数据类型的元素的集合。 B. 数组的下标从-1开始。 C. 数组的长度可以动态改变。 D. 数组的元素不能是不同的数据类型。 答案:A. 数组是一个具有相同数据类型的元素的集合。 二、答案解析
数组是C语言中常用的数据结构,能够存储多个相同数据类型的 元素。因此,答案选项A是正确的。选项B是错误的,数组的下标从0开始,而不是-1。选项C也是错误的,数组的长度在定义时就确定了,无法在运行时动态改变。选项D同样是错误的,数组的元素可以是相 同的数据类型。 通过这道题目,我们可以看出,C语言考试注重考察考生对基础 知识的掌握程度。在备考过程中,我们应该注重对C语言基础知识的 理解和掌握,尤其是一些常见的概念和规则。 三、备考建议 1. 学习重点 在备考C语言考试时,需要重点掌握的知识包括:数据类型、变量、常量、运算符、控制语句等基础知识。特别是数组、指针、结构 体等重要数据结构的概念和使用方法,需要加强理解和练习。 2. 加强实践 掌握理论知识只是基础,实践是提高编程能力的关键。通过编写 程序来实际操作和应用所学知识,可以加深对C语言的理解和记忆。 可以选择一些常见的编程题目来进行训练,提高编码能力和解决问题 的能力。 3. 多做真题 通过做真题来了解考试的题型和考点,熟悉考试的要求和规律。 可以选择一些往年的C语言试题来进行练习和复习,增加对C语言知 识的掌握和应用能力。
山东省专升本计算机类c语言试题及答案
山东省专升本计算机类c语言试题及答案 一、选择题(每题3分,共60分) 1. 下列程序段的输出结果是什么? ```c #include int main() { int x = 10; while (x > 0) { printf("%d ", x); x = x - 3; } return 0; } ``` A. 10 7 4 1 B. 10 9 8 7 6 5 4 3 2 1 C. 10 5
2. 在C语言中,以下哪个是合法的标识符? A. 3num B. int C. my-variable D. int-10 3. 下面的表达式的结果是什么? ```c int x = 5; int y = 3; int z = x % y * 2; printf("%d", z); ``` A. 1 B. 0 C. 2 D. 3 4. 以下哪种数据类型不能用于存储小数? A. int
C. double D. char 5. 下面哪个语句可以用来判断两个变量是否相等? A. x == y B. x = y C. x != y D. x > y 二、填空题(每题4分,共40分) 1. 有一个长度为10的整型数组arr,如何输出数组的第3个元素?```c printf("%d", arr[2]); ``` 2. 请写出以下循环的完整形式: ```c for (int i = 0; i < 5; i++) { // 循环体 }
3. 下面的循环执行了几次? ```c int i = 0; while (i < 5) { i++; } ``` 4. 在C语言中,下划线开头的标识符通常用来表示什么? A. 预处理指令 B. 全局变量 C. 常量 D. 用户定义的标识符 5. 请写出以下程序的输出结果: ```c int x = 5; if (x > 3)
专升本c语言真题与答案解析
专升本c语言真题与答案解析C语言真题与答案解析 在考试中,C语言是一个重要的科目,它是计算机领域最为基础的编程语言之一。考生对于C语言的理解和掌握程度直接影响着他们在考试中的成绩。为了帮助考生更好地备考和应对C语言考试,下面将提供一些常见的C语言真题,并给出详细的答案解析。 题目一:编写一个C语言程序,实现生成斐波那契数列的功能。 答案解析: 斐波那契数列是指从第三个数开始,每个数都是前两个数之和的数列。在C语言中,可以通过循环和条件判断语句来实现。 ```c #include void Fibonacci(int n) { int a = 0, b = 1, i, c; printf("斐波那契数列前 %d 项为:\n", n);
printf("%d ", a); printf("%d ", b); for(i = 3; i <= n; i++) { c = a + b; printf("%d ", c); a = b; b = c; } printf("\n"); } int main()
{ int num; printf("请输入要生成斐波那契数列的项数:"); scanf("%d", &num); Fibonacci(num); return 0; } ``` 本题的答案解析是一个完整的程序,其中使用了循环、条件判断、变量和输入输出等C语言的基本语法和知识点。通过运行这段代码,我们可以得到生成斐波那契数列的结果。 题目二:编写一个C语言程序,实现字符串逆序输出的功能。 答案解析: 为了实现字符串的逆序输出,我们需要首先将字符串存储到一个
成都中医药大学历年计算机C语言专升本试题及答案
计算机C语言专升本试题 一、判断题(每小题2.5 分,共 100分) ()1、寄存器变量只限于整型、字符型和指针型的局部变量。 【答案】正确 ()2、在标准c中," ="是判断两个数是否相等。 【答案】错误 ()3、运算符==与=表达的是相同的。 【答案】错误 ()4、在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。【答案】正确 ()5、内存单元的地址与内存单元中的数据是两个完全相同的概念 【答案】错误 ()6、c语言中,整型变量的输出格式只有%d一种。 【答案】错误 ()7、在标准c中,语句必须以";"结束。 【答案】正确 ()8、c语言中标准输入输出设备指的是键盘和显示器。 【答案】正确 ()9、以下两个程序段等价,其功能是计算s=1+2+ (10) 【答案】错误 ()10、c语言的预处理命令以 # 符号开头。( ) 【答案】正确
()11、强制类型转换时,原来变量的类型不会改变。 【答案】正确 ()12、在标准c中,赋值表达式可以出现在表达式的任何位置。() 【答案】正确 ()13、switch语句的各个case和default的出现次序不影响执行结果 【答案】错误 ()14、对于如下的switch语句(使用break)的一般形式,其执行流程是:首先求解表达式,如果表达式的值与某个常量表达式的值相等,则执行该常量表达式后的相应语句段; 如果表达式的值与任何一个常量表达式的值都不相等,则执行 default 后的语句段,最后执行break语句,跳出switch语句。switch (表达式) { case 常量表达式1: 语句段1; break; case 常量表达式2: 语句段2; break; … case 常量表达式n: 语句段n; break; default: 语句段n+1; break; } 【答案】正确 ()15、while语句和do - while语句的一般形式分别如下,其主要区别是:while 语句先判断循环条件,只有条件满足才进入循环,如果一开始条件就不满足,则循环一次都不执行。而do - while语句先执行循环体,后判断循环条件,所以无论循环条件的值如何,至少会执行一次循环体。 【答案】正确 ()16、循环语句中如果包含若干条语句,则必须用大括号括起来 【答案】正确 ()17、break语句只能用在循环语句中。
甘肃专升本计算机考试c语言试题及答案
甘肃专升本计算机考试c语言试题及答案 一、选择题 1. 下列哪个选项是正确的? A. C语言是一种高级编程语言 B. C语言是一种低级编程语言 C. C语言是一种机器语言 D. C语言是一种汇编语言 答案:A 2. 在C语言中,以下哪个选项用于声明整型变量? A. int B. float C. char D. bool 答案:A 3. 下列哪个选项是正确的? A. C语言是一种面向过程的编程语言 B. C语言是一种面向对象的编程语言 C. C语言无法实现函数的封装和数据的隐藏
D. C语言只能在Windows操作系统上运行 答案:A 二、填空题 1. 下列代码的输出结果是多少? ```c #include int main() { int x = 5; int y = 2; printf("%d", x % y); return 0; } ``` 答案:1 2. 在C语言中,下划线对应的数据类型是_________________。答案:浮点数 三、简答题
1. 请简述C语言中的数组概念。 答:在C语言中,数组是一种存储相同类型数据的容器。它由一系列相同类型的元素组成,每个元素都有一个唯一的索引,用于访问和操作该元素。数组的长度通常在定义时确定,且不可更改。可以通过数组名和索引来访问数组中的元素。数组在C语言的程序设计中广泛应用,能够有效地存储和处理大量的数据。 2. 请列举C语言中常用的控制结构。 答:C语言中常用的控制结构包括条件语句和循环语句。条件语句主要有if语句和switch语句,用于根据条件执行不同的代码块。循环语句主要有for循环、while循环和do-while循环,用于重复执行某段代码。这些控制结构可以根据需要控制程序的执行流程,实现不同的功能和逻辑。 四、编程题 请编写一个C语言程序,实现输入一个整数n,计算并输出1到n 之间所有数字的和。 ```c #include int main() { int n, sum = 0;
2022年专升本C语言历年试题及答案
专升本C语言历年考试题及答案 一、单选题 1. ___D___是合法旳顾客自定义标记符。 A、b-b B、float C、 D、_isw 2. 若变量已对旳定义并赋值,体现式___B___不符合C语言语法。 A、a*b/c; B、3.14%2 C、2, b D、a/b/c 3. ___C__是不对旳旳字符常量。 A、'n' B、'1' C、"a" D、'101' 4. 在C 程序中,用___B__表达逻辑值“真”。 A、1 B、非0 旳数 C、非1 旳数 D、不小于0 旳数 5. __C____把x、y定义成float类型变量,并赋同一初值3.14。 A、float x, y=3.14; B、float x, y=2*3.14; C、float x=3.14, y=x=3.14; D、float x=y=3.14; 6. 若变量已对旳定义,体现式___C___旳值不是2。 A、2&3 B、1<<1 C、a==2 D、1^3 7. 若变量已对旳定义,语句“if(a>b) k=0; else k=1;”和__C____等价。
A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 8. 设变量定义为“int a, b;”,执行下列语句时,输入_D____,则a和b旳值都是10。 scanf("a=%d, b=%d",&a, &b); A、10 10 B、10, 10 C、a=10 b=10 D、a=10, b=10 9. 下列程序旳输出成果是__D___。 fun(int a, int b, int c) { c =a*b; } void main( ) { int c; fun(2,3,c); printf(”%dn”,c);} A、0 B、1 C、6 D、无法拟定 10. 在C程序中,若对函数类型未加阐明,则函数旳隐含类型为__A___。 A、int B、double C、void D、char
C语言程序设计专升本精选样卷及答案
C语言程序设计专升本精选样卷 (总分100分,考试时长90分钟) 一、单项选择题(每小题2 分,共 40分) 1、在c语言中,要求运算数必须是整型或字符型的运算符是________。 A、&& B、& C、! D、|| 【答案】B 2、已有定义: int x=3,y=4,z=5; 则表达式 !(x+y)+z-1&&y+z/2 的值是________。 A、0 B、1 C、2 D、-1 【答案】B 3、if语句的基本形式为:if(表达式)语句,其中"表达式"________。 A、可以是任意合法的表达式 B、必须是逻辑表达式 C、必须是逻辑表达式或关系表达式 D、必须是关系表达式 【答案】A 【解析】本题考查if表达式。if(表达式)中的表达式可以为任何合法的表达式,一般情况下为逻辑、条件表达式,需要注意的是,当等号(==)误写为赋值号(=)时不会报错的,但是其值恒为1。 4、break语句的正确的用法是________。 A、无论在任何情况下,都中断程序的执行,退出到系统下一层。 B、在多重循环中,只能退出最靠近的那一层循环语句。 C、跳出多重循环。 D、只能修改控制变量。 【答案】B 5、下列程序的运行结果是________。 void fun(int*a,int*b) { int *k; k=a; a=b; b=k; } main() { int a=3,b=6,*x=&a,*y=&b; fun(x,y); printf("%d%d",a,b); } A、63 B、36 C、编译出错 D、0 0 【答案】B 【解析】在C语言中,调用函数时是将实参复制一份给形参,所以无论怎么改变形参的值,都不会影响到实参,即传值调用。即使形参是指针变量,也没有改变C语言传值调用这个事实,实参指针也还是复制了一份给形参指针,无论怎么改变形参指针的内容(注意:不是形参指针所指向的内容),也不会影响实参指针的内容。但它们两个现在的值一样,即指向的是同一个内存地址,所以改变形参指针所指向的内容,也就改变了实参指针所指向的内容,C语言就是这样实现传址调用的。本题中fun()函数的形参就是两个指针,但函数中没有任何语句改变这两个指针所指向的内容,只是交换了两个参数的内容,所以该函数不会对传递给它的实参以及实参所指向的内容造成任何影响,故a,b初始化时为3,6,输出结果亦为3和6。应该选择B。 6、下列程序中c的二进制值是________。 char a=2,b=4,c;c=a-b>>2; A、00000011 B、00010100 C、000111OO D、00011000 【答案】A 7、假定double类型变量占用8个字节,且数组定义如下,则数组length在内存中所占字节数是________。double length [10]; A、0
C语言程序设计(专升本)-2022考试答案
综合作业 1. (单选题) 在宏定义#define PI 3.14159中,用宏名PI代替一个()。(本题 2.5分) A、单精度数 B、双精度数 C、常量 D、字符串 学生答案: B 标准答案:D 解析: 得分: 0 2. (单选题) (本题2.5分) A、 579 B、 5690 C、出错 学生答案: B 标准答案:A 解析: 得分: 0 3. (单选题) 若有定义:int a[3][4],则正确引用数组a元素的是()。(本题2.5分)
A、 a[2][4] B、 a[3][3] C、 a[0][0] D、 a[3][4] 学生答案: B 标准答案:C 解析: 得分: 0 4. (单选题) 根据题目中已给出的数据的输入和输出形式,程序中输入输出语句的正确内容是( )。 main(){ int x;float y;pringf(“enter x,y;”)输入语句输出语句} 输入形式enter x,y:2 3.4输出形 式x+y=5.40(本题2.5分) A、 scanf(“%d,%f”,&x,&y);printf(“\nx+y=%4.2f”,x+y); B、 scanf(“%d%f”,&x,&y);printf(“\nx+y=%4.2f”,x+y); C、 scanf(“%d%f”,&x.&y);printf(“\nx+y=%6.1f”,x+y); D、 scanf(“%d%3.1f”,&x,&y);printf(“\nx+y=%4.2f”,x+y); 学生答案: C 标准答案:B 解析: 得分: 0 5. (单选题) fwrite函数的一般调用形式是( )。(本题2.5分) A、 fwrite(buffer,count,size,fp) ; B、 fwrite(fp,size,count,buffer) ; C、 fwrite(fp,count,size,buffer) ; D、 fwrite(buffer,size,count,fp) ; 学生答案: C 标准答案:D 解析: 得分: 0 6. (单选题) while 和 do-while 循环的主要区别是(本题2.5分)
专升本C语言历年试题及答案
专升本C语言历年考试题及答案 一、单项选择题 1。___D___是合法的用户自定义标识符。 A、b-b B、float C、〈fr> D、_isw 2。若变量已正确定义并赋值,表达式___B___不符合C语言语法. A、a*b/c; B、3。14%2 C、2, b D、a/b/c 3。___C__是不正确的字符常量. A、’n’ B、'1’ C、"a" D、’101' 4。在C 程序中,用___B__表示逻辑值“真"。 A、1 B、非0 的数 C、非1 的数 D、大于0 的数 5. __C____把x、y定义成float类型变量,并赋同一初值3.14。 A、float x,y=3.14; B、float x,y=2*3。14; C、float x=3.14,y=x=3.14; D、float x=y=3。14; 6. 若变量已正确定义,表达式___C___的值不是2。 A、2&3 B、1<〈1 C、a==2 D、1^3 7. 若变量已正确定义,语句“if(a〉b) k=0;else k=1;”和__C____等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a〈=b; D、a〈=b ?0 : 1; 8。设变量定义为“int a, b;”,执行下列语句时,输入_D____,则a和b的值都是10。 scanf("a=%d, b=%d”,&a, &b); A、10 10 B、10,10 C、a=10 b=10 D、a=10, b=10 9。下列程序的输出结果是__D___。
fun(int a, int b,int c) { c =a*b;} void main( ) { int c; fun(2,3,c); printf(”%dn”,c);} A、0 B、1 C、6 D、无法确定 10。在C程序中,若对函数类型未加说明,则函数的隐含类型为__A___。 A、int B、double C、void D、char 11。表达式strlen("hello”)的值是___B____。 A、4 B、5 C、6 D、7 12. 设变量定义为“int a[4];”,则表达式__D____不符合C语言语法。 A、*a B、a[0] C、a D、a++ 13。设变量定义为“int x,*p=&x;”,则&*p相当于__A___。 A、p B、*p C、x D、*&x 14。若变量已正确定义,_A___不能使指针p成为空指针。 A、p=EOF B、p=0 C、p='’ D、p=NULL 15。对于以下的变量定义,表达式__D____不符合C语言语法. struct node { int len; char *pk;
专升本C语言历年试题及答案
专升本C语言历年试题及答案 专升本C语言历年考试题及答案 一、单项选择题 1._isw 是合法的用户自定义标识符。 2.若变量已正确定义并赋值,表达式 3.14%2 不符合C语言语法。 3."a" 是不正确的字符常量。 4.在C程序中,用 1 表示逻辑值“真”。 5.float x=3.14.y=x。把x、y定义成float类型变量,并赋同一初值3.14. 6.若变量已正确定义,表达式 1^3 的值不是2.
7.若变量已正确定义,语句“if(a>b) k=0.else k=1;”和 k=(a<=b)?1:0.等价。 8.设变量定义为“int a。b;”,执行下列语句时,输入 a=10.b=10,则a和b的值都是10. scanf("a=%d。b=%d",&a。&b); 9.下列程序的输出结果是 0. fun(int a。int b。int c) c =a*b。} void main( ) int c=0; fun(2,3,c); printf("%d\n",c);} 10.在C程序中,如果函数类型未被声明,则函数的隐含类型为int。 11.表达式strlen("hello")的值为5.
13.对于变量定义int x。*p=,&*p相当于p。 14.如果变量已经被正确定义,p=NULL不能使指针p成为空指针。 17.基于相同的基类型,两个指针变量之间不能进行加法运算。 18.程序输出4. 19.缺少完整的定义。 struct person { char name[9]; int age; struct person class[10] = { Johu"。17}。 XXX"。19}。 XXX"。18}。
专升本C语言100题及答案
C语言精编100题 一、单选题 1.由C语言编写的代码程序( ) A. 可直接执行 B. 是一个源程序 C. 经过编译即可执行 D. 经过编译解释才能执行 2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( ) A. 大写字母 B. 中划线 C. 数字字符 D. 下划线 3.下列选项中,不能用作标识符的是( ) A. _1234_ B. _1_2 C. int_2_ D. 2_int_ 4.以下选项中合法的用户标识符是( ) A. long B. _2Test C. 3Dmax D. A.dat 5.以下不能定义为用户标识符的是( ) A. Main B. _0 C. _int D. sizeof 6.下列定义变量的语句错误的是( ) A. int _int; B. double int_; C. char For; D. float US$; 7.在C语言中,合法的实型常数是( ) A. 5E2.0 B. E-3 C. 2E0 D. 1.3E 8.在C语言中,合法的实型常数是( ) A. 1.2E0.5 B. 3.14159E C. 5E-3 D. E15 9.以下选项中,不能作为合法常量的是( ) A. 1.234e04 B. 1.234e0.4 C. 1.234e+4 D. 1.234e0 10.以下不合法的数值常量是( ) A. 011 B. le1 C. 8.0E0.5 D. 0xabcd 11.在C语言中,非法的字符常量是( ) A.‘\t’ B.‘\17’ C. "\n" D.‘\xaa’ 12.以下不合法的字符常量是( ) A.‘\018’ B.‘\"’ C.‘\\’ D.‘\xcc’
专升本C语言历年考试题及答案
专升本C语言历年考试题及答案 习题一 一.填空题 1.C程序是由()构成的,一个C程序中至少包含()。因此,( ) 是C程序的基本单位。 2.C程序注释是由( ) 和( ) 所界定的文字信息组成的。 3.函数体一般包括( ) 和( ) 。 二.判断题 1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。【】 2.main函数必须写在一个C程序的最前面。【】 3.一个C程序可以包含若干的函数。【】 4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。【】 5.C程序的注释只能是一行。【】 6.C程序的注释不能是中文文字信息。【】 8.可以使用Turbo C来编译和连接一个C程序。【】 9.可以使用Turbo C来运行一个C程序。【】 10.可以使用Turbo C来实时调试(即动态调试)一个C程序。【】 三.简答题 1.写出一个C程序的基本结构。 2.简要叙述使用Turbo C 2.0编译和运行一个程序的步骤。 四.编程题 1.提高题:参照课本例1.1,试编写一个C程序,输出如下信息。(提示:使用键盘上的一些符号)。 2.提高题:试编写一个C程序,输出如下信息。 试试看,可以输出其他组合图案吗? 习题二
一.选择题 1、合法的字符常量是。 A)‘\t’ B) “A” C)‘a’ D)’\x32’ 2、合法的字符常量是。 A)‘\084’ B) ‘\84’C)‘ab’ D)’\x43’ 3、是C语言提供的合法的数据类型关键字。 A)Float B)signed C)integer D)Char 4、在以下各组标识符中,合法的标识符是。 (1)A)B01 B)table_1 C)0_t D)k% (2)A)Fast_ B)void C)pbl D) (3)A)xy_ B)longdouble C)*p D)CHAR (4) A) sj B)Int C)_xy D)w_y23 5、属于合法的C语言长整型常量的是。 A)5876273 B)0LC)2E10 D)(long)5876273 6、下面选项中,不是合法整型常量的是。 A)160 B)-0xcdgC)-01 D)-0x48a 7、判断int x = 0xaffbc;x的结果是。 A)赋值非法B)溢出C)为affb D)为ffbc 8、下面选项中,均是合法浮点数的是。 A)+1e+1 B)-.60 C)123e D)-e3 A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4 A)03e2 B)-8e5 C)+2e-1 D)5.e-0 9、在C语言中,要求参加运算的数必须时整数的运算符是。A)/ B)* C)% D) = 10、在C语言中,字符型数据在内存中以形式存放。 A)原码B)BCD码C)反码D)ASCII码 11、下列语句中,符合语法的赋值语句是。 A)a=7+b+c=a+7;B)a=7+b++=a+7;