专升本《程序设计基础》考试模拟试卷及解析
一、单项选择题(每小题 2 分,共计20 分,将答案写在题中横线上)
1. 在C 语言中,字符型数据在内存中的存储形式是▁▁▁▁▁。
A. 补码
B. 反码
C. 原码
D. ASCII 码
2. 下列变量名中合法的是▁▁▁▁▁。
A. B.C.Tom B. 3a66 C.
_6a7b D. $ABC
3. 以下语句输出的结果是▁▁▁▁▁▁。
#include <stdio.h>
void main( )
{
printf(“%d”,null);
}
A. 0
B. 编译出错,变量无定义
C. -1
D. 1
4. 为避免在嵌套的条件语句if-else 中产生二义性, C 语言规定:else
子句总是与▁▁▁配对。
A. 同一行上的if
B. 其之后最近的if
C. 其之前最近的if
D. 缩排位置相同的if
5. 以下程序的执行结果是▁▁▁▁▁▁。
#include <stdio.h>
void main( )
{ int i,sum;
for(i=1;i<=3;sum++)
sum+=i;
printf(“%d\n”,sum);}
A. 6
B. 3
C. 死循环
D. 0
6. 当执行以下程序时,▁▁▁▁▁▁。
#include <stdio.h>
void main( )
{
int y=-1;
do {y--;}
while(--
y);
printf("%d\n",y--);
}
A. 循环体将执行一次
B. 循环体将执行两次
C. 循环体将执行无限次
D. 系统将提示有语法错误
7. 若有定义int a[4][5],则元素a[2][3]是数组中第个元素。
A. 13
B. 14
C. 8
D. 9
8. 在函数调用语句fun1(fun2(x,y),(x,y),z=x+y);中,fun1 的实际参数的个数是。
A. 3
B. 7
C. 4
D. 5
9. 以下叙述中不正确的是。
A. 在不同的函数中可以使用相同名字的变量
B. 函数中的形式参数是局部变量
C. 在一个函数内定义的变量只在本函数范围内有效
D. 在一个函数内的复合语句中定义的变量在本函数范围内有效
10. p1 指向某个整型变量,要使指针p2 也指向同一变量,哪一个语句是正确的。
A. p2=*&p1;
B. p2=**p1;
C. p2=&p1;
D. p2=*p1;
二、填空题(每小题 1 分,共10 分,把答案填在题中横线上)
1. 一个 C 语言程序一般由若干个函数构成的,程序中至少应包含一
个。
2. x 是 int 类型变量,则执行下列语句x=7 ;x+=x-=x+x ;后x
的值是。
3. 设有 int x=13; 则表达式 (++x * 1/3) 的值是。
4. 若a=13 、b=25 、c=-17 ,条件表达式((y=(a<b )?a:b)<c)?y:c
的值为。
5. 在函数内部定义只在本函数内有效的变量是。
6. 函数直接或者间接地自己调用自己,被称为函数的。
7. 在C 语言中,要读取某个数据文件里的数据,首先要将该文件处于打
开状态,即对该文件进行操作。
8. 定义语句为char a[]=”hangzhou”,*p=a ,语句for(int i=0;
*p!=’\0’;
p++,i++);
执行后i 的值为。
9 对宏定义语句“#define f(x,y) printf(x,y)”的引用 f(”%d\n”,m);
置换展开后为。
10. 释放由p 所指向的内存区的语句为。
三、读程序写结果(每小题 5 分,共 20 分,把答案填在题中“运行结果”处)
1. 下列程序的输出结果是:
#include <stido.h>
void main()
{ int y=3,x=3,z=1;
printf(“%d %d\n”,(++x,y++),z+2); }
运行结果:
2. 以下程序的执行结果是:
#include <stdio.h>
void main()
{ struct stud
{
char name[20];
int age;
char sex;
} student={"louis",10,'m'};
printf("%s,%d,%c",,student.age, student.sex); }
运行结果:
3. 以下程序运行后,输出结果是:
#include <stdio.h>
void main ( )
{
int y=18,i=0,j,a[8];
do
{ a[i]=y%2;i++;
y=y/2;
} while(y>=1);
for(j=i-1;j>0;j--)。