内容正文:
编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。
本专辑第4卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】:
(二)运算符与表达式
湖南省普通高等学校对口招生考试 计算机应用类
《C语言程序设计》考点双析卷 第4卷
运算符与表达式 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.若有定义:int a=7; float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )
A.2.500000 B.2.750000 C.3.500000 D.0.000000
2.已知各变量的类型如下
int i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
则以下符合C语言语法的表达式是( )
A.a+=a-=(b=4)*(a=3) B.a=a*3+2
C.x%(-3) D.y=float(i)
3.以下程序运行的结果是( )
#define X 5
#define Y X+1
#define Z Y*X/2
void main( )
{
int a=Y ;
printf(" %d,%d" ,Z,--a ) ;
}
A.7,6 B.12,6 C.12,5 D.7,5
4.已知int i;float f;正确的表达式是( )
A.(int f)%i B.int(f)%i
C.int(f % i) D.(int)f % i
5.已知int k,m=1;执行语句k=-m++;后k的值是( )
A.-1 B.0 C.1 D.2
6.以下程序运行的结果是( )
#include <stdio.h>
int main()
{int m=5,n=10;
printf(“%d,%d
”,m++,--n);
}
A.5,9 B.6,9 C.5,10 D.6,10
7.下列程序的输出结果是( )
void main( )
{ int a=7,b=5; printf("%d
",b=b%a); }
A.0 B.1 C.5 D.不确定值
8.若有定义
#define N 2
#define Y(n) ((N+1)*n)
则执行语句z=2*(N+Y(5));后,z的值为( )
A.无确定值 B.语句有错误 C.34 D.70
9.设 int i,j=5;执行语句i=(++j)+(++j);后i的值是( )
A.10 B.12 C.13 D.14
10.已知 int x=(1,2,3,4);,变量x的值是( )
A.1 B.2 C.3 D.4
11.运算符有优先级,在C语言中关于运算符优先级的叙述正确的是( )
A.逻辑运算符高于算术运算符,算术运算符高于关系运算符
B.算术运算符高于关系运算符,关系运算符高于逻辑运算得
C.算术运算符高于逻辑运算符,逻辑运算符高于关系运算符
D.关系运算符高于逻辑运算符,逻辑运算符高于算术运算符
12.写出以下程序的执行结果 ( )
main(){
int a,b; a=100; b=200; printf("%d",(a,b));}
A.100 B.200 C.20000 D.100=200
13.已有定义:int x=012,y=12;执行语句:printf("%o",x&y>>1);后的输出结果是( )
A.2 B.3 C.4 D.5
14.已有定义:int a=3;执行语句:a=2%a<<2;printf(“%d”,a);的输出结果是( )
A.8 B.9 C.10 D.11
15.已有定义:char a=3,b=6,c;执行语句:c=a^b<<2;后,变量c中的二进制值是( )
A.0001 1011 B.0001 0100 C.0001 1100 D.0001 1000
16.已有定义:int x=68;执行语句:printf(“%c,%d”,x,~x);后的输出结果是( )
A.D,69 B.D,-69 C.68,69 D.68,-69
17.已有定义:int a=1,b=2;执行语句:a=a^b;b=b^a;a=a^b;printf("%d,%d",a,b);后的输出结果是( )
A.1,2 B.2,1 C.2,2 D.1,1
18.已知;int a=3,a+=a^2;则a的值为( )
A.12 B.9 C.6 D.4
19.已有定义:int a=015,b=12;执行语句:printf("%d",a|b>>2);后的输出结果是( )
A.13 B.14 C.15 D.3
20.已有定义:int x=25;执行语句:printf("%d",~x);后的输出结果是( )
A.-26 B.26 C.25 D.-25
二、程序设计题(本大题共4小题,每题10分,共40分)
21.请输入一个大于100的正整数a,将a的百位、十位和个位依次放在b的个位、十位和百位上,例如:输入“321”,输出“结果是:123”
#include<stdio.h>
void main(){
int a,ge,shi,bai;
/*******space*******/
/*******space*******/
}
22.定义一个函数求任意给定整数n的个位数字和十位数字和的完全平方,如果输入数字0<n<10,则在数字前加0,然后进行计算并输出计算结果。例如输入22,则输出16
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int calculateSquareSum(int n) {
int unit_digit;
int ten_digit;
/*******space*******/
/*******space*******/
}
int main()
{
int n;
printf("【Enter a number: 】");
scanf("%d", &n);
printf("【The result is:】 %d
", calculateSquareSum(n));
return 0;
}
23.从键盘上输入两个整数a,b,不使用中间变量交换他们的值并输出
#include<stdio.h>
void main()
{
int a,b;
scanf(“%d,%d”a,b);
printf(“a=%d,b=%d”,a,b);
/*******space*******/
/*******space*******/
printf(“a=%d,b=%d”,a,b);
}
24.编程:已知三角形的三边a=3,b=4,c=5,求其面积S。(提示:假设有一个三角长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p为半周长:p=(a+b+c)/2。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。
本专辑第4卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】:
(二)运算符与表达式
湖南省普通高等学校对口招生考试 计算机应用类
《C语言程序设计》考点双析卷 第4卷
运算符与表达式 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.若有定义:int a=7; float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )
A.2.500000 B.2.750000 C.3.500000 D.0.000000
【答案】A
【详解】本题考查C语言的表达式语句。其中,包含了强制类型转换、加法、除法、模除。第一步计算后x+a%3*7%2/4,第二步计算后x+1*7%2/4,下一步x+7%2/4,下一步x+1/4,下一步x+0,结果为2.5
2.已知各变量的类型如下
int i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
则以下符合C语言语法的表达式是( )
A.a+=a-=(b=4)*(a=3) B.a=a*3+2
C.x%(-3) D.y=float(i)
【答案】A
3.以下程序运行的结果是( )
#define X 5
#define Y X+1
#define Z Y*X/2
void main( )
{
int a=Y ;
printf(" %d,%d" ,Z,--a ) ;
}
A.7,6 B.12,6 C.12,5 D.7,5
【答案】D
4.已知int i;float f;正确的表达式是( )
A.(int f)%i B.int(f)%i
C.int(f % i) D.(int)f % i
【答案】D
5.已知int k,m=1;执行语句k=-m++;后k的值是( )
A.-1 B.0 C.1 D.2
【答案】A
6.以下程序运行的结果是( )
#include <stdio.h>
int main()
{int m=5,n=10;
printf(“%d,%d
”,m++,--n);
}
A.5,9 B.6,9 C.5,10 D.6,10
【答案】A
7.下列程序的输出结果是( )
void main( )
{ int a=7,b=5; printf("%d
",b=b%a); }
A.0 B.1 C.5 D.不确定值
【答案】C
8.若有定义
#define N 2
#define Y(n) ((N+1)*n)
则执行语句z=2*(N+Y(5));后,z的值为( )
A.无确定值 B.语句有错误 C.34 D.70
【答案】C
9.设 int i,j=5;执行语句i=(++j)+(++j);后i的值是( )
A.10 B.12 C.13 D.14
【答案】A
10.已知 int x=(1,2,3,4);,变量x的值是( )
A.1 B.2 C.3 D.4
【答案】D
11.运算符有优先级,在C语言中关于运算符优先级的叙述正确的是( )
A.逻辑运算符高于算术运算符,算术运算符高于关系运算符
B.算术运算符高于关系运算符,关系运算符高于逻辑运算得
C.算术运算符高于逻辑运算符,逻辑运算符高于关系运算符
D.关系运算符高于逻辑运算符,逻辑运算符高于算术运算符
【答案】B
12.写出以下程序的执行结果 ( )
main(){
int a,b; a=100; b=200; printf("%d",(a,b));}
A.100 B.200 C.20000 D.100=200
【答案】B
【详解】逗号运算符(a, b)会依次计算每个表达式,并返回最后一个表达式(b)的值。
因此,(a, b)的值为 b(200),所以输出200。
13.已有定义:int x=012,y=12;执行语句:printf("%o",x&y>>1);后的输出结果是( )
A.2 B.3 C.4 D.5
【答案】C
14.已有定义:int a=3;执行语句:a=2%a<<2;printf(“%d”,a);的输出结果是( )
A.8 B.9 C.10 D.11
【答案】A
15.已有定义:char a=3,b=6,c;执行语句:c=a^b<<2;后,变量c中的二进制值是( )
A.0001 1011 B.0001 0100 C.0001 1100 D.0001 1000
【答案】B
16.已有定义:int x=68;执行语句:printf(“%c,%d”,x,~x);后的输出结果是( )
A.D,69 B.D,-69 C.68,69 D.68,-69
【答案】B
17.已有定义:int a=1,b=2;执行语句:a=a^b;b=b^a;a=a^b;printf("%d,%d",a,b);后的输出结果是( )
A.1,2 B.2,1 C.2,2 D.1,1
【答案】B
18.已知;int a=3,a+=a^2;则a的值为( )
A.12 B.9 C.6 D.4
【答案】D
19.已有定义:int a=015,b=12;执行语句:printf("%d",a|b>>2);后的输出结果是( )
A.13 B.14 C.15 D.3
【答案】C
20.已有定义:int x=25;执行语句:printf("%d",~x);后的输出结果是( )
A.-26 B.26 C.25 D.-25
【答案】A
二、程序设计题(本大题共4小题,每题10分,共40分)
21.请输入一个大于100的正整数a,将a的百位、十位和个位依次放在b的个位、十位和百位上,例如:输入“321”,输出“结果是:123”
#include<stdio.h>
void main(){
int a,ge,shi,bai;
/*******space*******/
/*******space*******/
}
【答案】scanf("%d",&a);
if(a>100){
ge=a%10;
shi=a/10%10;
bai=a/100%10;
a=ge*100+shi*10+bai;
printf("%d",a);
}else{
printf("输入的数不符合要求");
}
22.定义一个函数求任意给定整数n的个位数字和十位数字和的完全平方,如果输入数字0<n<10,则在数字前加0,然后进行计算并输出计算结果。例如输入22,则输出16
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int calculateSquareSum(int n) {
int unit_digit;
int ten_digit;
/*******space*******/
/*******space*******/
}
int main()
{
int n;
printf("【Enter a number: 】");
scanf("%d", &n);
printf("【The result is:】 %d
", calculateSquareSum(n));
return 0;
}
【答案】if(n<10){
n=n*10;
}
unit_digit=n%10;
ten_digit=(n/10)%10;
return(unit_digit + ten_digit) * (unit_digit + ten_digit);
23.从键盘上输入两个整数a,b,不使用中间变量交换他们的值并输出
#include<stdio.h>
void main()
{
int a,b;
scanf(“%d,%d”a,b);
printf(“a=%d,b=%d”,a,b);
/*******space*******/
/*******space*******/
printf(“a=%d,b=%d”,a,b);
}
【答案】a=a+b;
b=a-b;
a=a-b;
24.编程:已知三角形的三边a=3,b=4,c=5,求其面积S。(提示:假设有一个三角长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p为半周长:p=(a+b+c)/2。
【答案】#include <stdio.h>
#include <math.h> // 包含sqrt()函数声明
int main() {
float a = 3, b = 4, c = 5, p, s;
p = (a + b + c) / 2; // 计算半周长
s = sqrt(p * (p - a) * (p - b) * (p - c)); // 海伦公式求面积
printf("三角形的面积为:%.2f
", s); // 结果为6.00
return 0;
}
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$