当前位置:文档之家› 四川大学期末考试试题(A卷).doc

四川大学期末考试试题(A卷).doc

四川大学期末考试试题(A卷)(2013——2014 学年第一学期)课程号:303066030课序号:课程名称:计算机基础及C程序设计语言任课教师:刘亚梅刘洋任瑞玲曾晓东余勤罗伟王茂宁王忠邓丽华成绩:适用专业年级:2012级学生人数:印题份数:学号:姓名:考试须知四川大学学生参加由学校组织或由学校承办的各级各类考试,必须严格执行《四川大学考试工作管理办法》和《四川大学考场规则》。

有考试违纪作弊行为的,一律按照《四川大学学生考试违纪作弊处罚条例》进行处理。

四川大学各级各类考试的监考人员,必须严格执行《四川大学考试工作管理办法》、《四川大学考场规则》和《四川大学监考人员职责》。

有违反学校有关规定的,严格按照《四川大学教学事故认定及处理办法》进行处理。

一、单项选择题(每题1.5分,共45分)(注:本题及以下各题均以VC++6.0为软件编程平台)1.一个C程序总是从_______开始执行的。

A)main函数B)程序的第一行C)程序的第一个函数D)不固定位置2.以下对C语言的描述正确的是。

A)函数允许嵌套定义B)编译时不检查语法C)用户所定义的标识符必须以字母开头D)转义字符以“\”开头3.下列C语言中运算对象必须是整型的运算符是。

A) %= B) && C) = D) *=4.若有以下程序段:int c1, c2=3, c3=2; c1=(float)c2/c3;则执行后,c1、c2的值分别是。

A)0,3.0 B) 1,3.0 C) 0,3 D) 1,35.下列变量定义中合法的是。

A)short_a=0xda; B)double b=1+5e2.5;C)int a=‘A’; D)float 2_and=1-e-3;6.若变量已正确定义并赋值,符合C语言语法的表达式是。

A)++(a+1) B)a=7+b/c=a++C)a=a+7=c+b D)a=’\0’7.设int a=1,b=2,c=3,m=4,n=5,p=3;,则执行表达式(a=m<n)&&(b=n<p)&&(c=m<p)后,a、b、c的值分别是。

A)1,1,1 B)1,0,3 C)1,0,0 D)1,2,38.下列合法的常量是:。

A)’abc’ B)’\0x3a’ C)“四川大学”D)’\xaif’9.有整型变量x,单精度变量y=2.5,表达式x=(float)(y*3+((int)y)%4)执行后,x的值为。

A)9.0 B)9 C)7 D)9.510.有变量说明和语句int a=10,b=1;b=(a==10&&++a>10);,则a和b的值分别是。

A)10和1 B)10和0 C)11和0 D)11和111.以下4个选项中,不能..看作一条语句的是。

A)if (b= =0) m=1;n=2; B)a=0,b=0,c=0;C)if (b==0){m=1;n=2;} D)if (a>0);注:1试题字迹务必清晰,书写工整。

本题8 页,本页为第 1 页12.若有语句scanf(“%d%c%f”,&a,&b,&c),假设输入序列为12.3A47,则a、b、c的值为。

A)无值B)12.3,A,47C)12,.,无D)12,.,3.013.语句“p rintf ("%d ", (a=2)&&(b=-2));”的输出结果是。

A)2 B)-2 C)1 D)014.以下语句中无限循环语句是。

A)for(;2&&5;); B)while(1,2,0);C)while(‘\0’); D)for(;’\0’;);15.下列if语句中,不正确...的是。

A)if (x<y)scanf (“%d”, &x) else scanf (“%d”, &y);B)if (x<y);C)if (x==y)x+=y;D)if (x<y){x++;y++;}16.以下循环体的执行次数是。

#include <stdio.h>void main(){int i,j;for (i=0,j=2;i<=j+1;i+=2,j--)printf ("%d\n",i);}A)3 B)2 C)1 D)017.下面程序的输出结果是()。

#include <stdio.h>void main( ){int x=5,a=0,b=0;if(x!=(a+b)) printf("x=5\n");else printf("a=b=0\n");}A)有语法错,不能通过编译B)通过编译,但不能连接C)x=5 D)a=b=018.定义:int a=10, b=11, c=12;后,则下面表达式为0的是。

A)' a ' && ' b ' B)a<=bC)a || b+c&&a-b D)!((a<b) &&!a||1)19.运行以下程序后,如果从键盘上输入Monkey&<回车>,则输出结果为。

#include <stdio.h>void main( ){int v1=0,v2=0;char ch;本题8 页,本页为第 2 页while ((ch=getchar( ))!= '&')switch (ch){case 'o':case 'n':default: v1++;case '&': v2++;}printf("%d,%d\n",v1,v2);}A)2,1 B)6,0 C)6,6 D)2,720.若有定义:char a[10], *p=a; 则不能..给数组a输入字符串的语句是。

A)gets(a) B)gets(a[0]) C)gets(&a[0]); D)gets(p);21.有两个字符数组str1、str2,则下面能正确对str1、str2进行输入的语句是。

A)gets(str1, str2); B)scanf(“%s%s”, str1, str2);C)scanf(“%s%s”, &str1, &str2); D)gets(“str1”);gets(“str2”);22.下面能正确进行字符串赋值操作的是。

A)char s[5]={"abcde"} B)char s[5]={' a','b','c','d','e'}C)char *s; s= "abcde" D)char *s; scanf("%s",s);23.设有数组定义: char a[ ]="ABCDE\0123"; 则数组a所占的空间为个字节。

A)9 B)10 C)5 D)824.有以下程序#include <stdio.h>#include <string.h>void main(){char s1[ ]={'a', 'b', 'c'}, s2[10]={'a', 'b', 'c'};printf("%d %d\n", strlen(p), strlen(q));}以下叙述中正确的是______。

A)在给s1和s2数组置初值时,系统会自动添加字符串结束符,故长度都为3B)由于s1数组中没有字符串结束符,长度不能确定;但s2数组中字符串长度为3C)由于s1和s2数组中都没有字符串结束符,故长度都不能确定D)以上说法都不对25.若有定义:int a=0, *p=&a;,则语句printf("%d\n",*p);的输出结果是______。

)随机值B)0 C)a的地址D)p的地址26.下面程序段,输出*的个数是char *s="\tx++\016yz";for (;*s!='\0';s++) printf("*");A)4 B)9 C)7 D)1127.若有以下说明,且0≤i≤10,则对数组元素的错误引用是_______。

int a[ ]={1,2,3,4,5,6,7,8,9,10}, *p = a, i;A)p[i] B)a[p-a+i] C)p+i D)*(&a[i])本题8 页,本页为第 3 页28.若有以下说明,且0≤i<10,以下表达式中错误..的是_______。

int a[ ]={1,2,3,4,5,6,7,8,9,10}, *p = a, i;A)p[i++] B)*(a+i) C)*(i+a) D)*((a++)+i)29.以下程序程序运行后的输出结果是______。

#include<stdio.h>void main(){int a[]={2,4,6,8,10}, y=0, x, *p;p=&a[1];for(x= 1; x<3; x++)y += p[x];printf("%d\n",y);})10 B)11 C)14 D)1530.以下程序运行后的输出结果是______。

#include <stdio.h>void main(){char s[]="158",*p;p=s;printf("%c",*p++);printf("%s",p);}A)158 B)1258 C)58 D)269二、判断对错,对的划“√”,错的划“×”(每小题1分,共10分,)1.C语言中,每个函数都可以单独编译、单独执行。

()2.可以对字符型数组进行整体输入、输出。

()3.以下两种初始化是等价的。

()char x[ ]="abcdefg";char x[ ]={'a', 'b', 'c', 'd', 'e', 'f', 'g'};4.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息。

()5.数组的元素实质上就是一个变量,代表内存中的一个存储单元。

相关主题