杭州电子科技大学学生考试卷( A )卷
考试课程程序设计考试日期年月 日成 绩课程号教师号任课教师姓名考生姓名学号(8位)年级专业
注意:
所有答案均写在答题纸上,写在试卷上无效;
考试结束后请将试卷和答题纸一起交上来。
试题中若出现C源代码,考虑源代码的大小写,不考虑标点符号的中英文状态;
本试题中C代码的开发环境为Microsoft Visual C++6.0,运行环境为Windows2000/XP系统;
当题目中只有程序片段时,假设完整程序已经具有其它必要代码且能够正确运行,如包含相应的库文件、main()函数的定义等。
试题一、单项选择题(每小题 2 分,共 分)
. 下列可用于C语言用户标识符的一组是??
A. void, define, WORD?????B. a3_b3, _123,Car?????C. For, -abc, IF Case?????D. 2a, DO, sizeof
2. 以下叙述中正确的是。?
A. 构成C程序的基本单位是函数B. 可以在一个函数中定义另一个函数C. main函数必须放在其他函数之前D. 所有被调用的函数一定要在调用之前进行定义A、if (u>s) t=u; t=s; B、t=u; if (>s) t=s;
C、if (u>s) t=s; else t=u; D、t=s; if (u>) t=u;
4. 已知i=3,则printf (“%d”, -i++) 的输出结果为( )
A、-4 B、 -3 C、-2 D、 以上均不对
. 有数组定义语句”char a[20]”, 则正确的输入语句为( )
A、scanf(“%s”, &a) B、scanf(“%s”, a[]) C、 gets(a[20]) D、gets(a)
. 下面程序段的运行结果是( )。char *s="abcde"; s+=2;printf("%d",s);?
A. cde?????B. 字符′c′?????C. 字符′c′的地址?????D. 无确定的输出结果. 以下能正确定义一维数组的选项是( )。
A. int a[5]={0,1,2,3,4,5};B. char a={′A′,′B′,′C′};C. int a[5]="0123";D. char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};. 设有以下说明语句 typedef struct { int n; char ch[8]; } PER; 则下面叙述中正确的是( )。
A. PER 是结构体变量名?????B. PER是结构体类型名?????C. typedef struct 是结构体类型?????D. struct 是结构体类型
f,调用 f(3) 的返回值是( )。
int f(int n)
{
if(n) return f(n-1) + n;
else return n;
}
A、10 B、6 C、3 D、0
10. 指针变量 p1,p2 类型相同,要使 p1,p2 指向同一变量,哪个语句是正确的( )
A、p2=*&p1; B、p2=**p1; C、p2=&p1; D、 p2=*p1;
试题二、程序填空题。按程序功能,在划线部分填写适当的内容(每空分,共0分) 功能:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
#include
int main()
{
int length(__()__);
int len;
char str[20];
printf("please input a string:\n");
scanf("%s",str);
len=length(__(2)__);
printf("the string has %d characters.",len);
}
int length(char *p)
{
int n;
n=0;
while(*p!='\0')
{
__(3)__;
p++;
}
return n;
}
2. 功能:将一个字符串中下标为m的字符开始的全部字符复制成为另一个字符串。
#include
void strcopy(char *str1,__(