从键盘输入一串字符,分别统计其中的字母(不区分大小写)、数字字符和其他
- 格式:doc
- 大小:42.00 KB
- 文档页数:5
国家开放大学《C语言程序设计》章节测试参考答案第一章C语言概述自测练习一:C语言字符集自测练习1.在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。
(√)2.在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。
(√)3.在C语言程序中,ABC和abc被作为同一标识符使用。
(×)自测练习二:C语言字符集自测练习1.在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。
(√)2.在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。
(√)3.C语言中使用的字符常量,其起止标记符是()。
a. 双引号b. 尖括号c. 单引号d. 中括号4.C语言中使用的字符串常量,其起止标记符是()。
a. 双引号b. 中括号c. 尖括号d. 单引号自测练习三:C语句分类自测练习1.在C语言中,一条简单语句的结束符是()。
a. 分号b. 空格c. 冒号d. 逗号2.在C语言中,每条复合语句的开始标记字符为()。
a. <b. [c. (d. {3.不符合C语言规定的复合语句是()。
a. {x=0;}b. {}c. {;}d. {y=10}4.C语言中的选择类语句有两条,它们是()。
a. else和caseb. if和switchc. if和elsed. switch和case自测练习四:函数分类与使用自测练习1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。
a. nameb. mainc. MAINd. function2.C语言程序中的基本功能模块为()。
a. 标识符b. 函数c. 表达式d. 语句3.一个函数定义所包含的两个部分是()。
a. 函数头和函数体b. 函数原型和函数体c. 函数名和参数表d. 函数头和函数尾4.一个程序文件开始使用的每条预处理命令,其首字符必须是()。
a. #b. @c. %d. $5.在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对()。
(完整版)python二级考试试题及答案一、选择题(每题2分,共40分)1. Python中,下列哪个选项是正确的数据类型转换方法?A. int("123")B. str(123)C. float(123.45)D. all of the above答案:D解析:A选项将字符串"123"转换为整数,B选项将整数123转换为字符串,C选项将浮点数123.45转换为float类型。
因此,所有选项都是正确的数据类型转换方法。
2. 以下哪个函数用于统计字符串中某个字符出现的次数?A. count()B. index()C. find()D. len()答案:A解析:count()函数用于统计字符串中某个字符或子字符串出现的次数。
index()和find()函数用于查找字符串中某个字符或子字符串的位置,len()函数用于获取字符串的长度。
3. 下列关于列表的说法正确的是?A. 列表是可变的B. 列表是不可变的C. 列表可以进行排序D. 列表不支持切片操作答案:AC解析:列表是可变的,可以进行排序,也支持切片操作。
因此,选项A和C是正确的。
二、填空题(每题2分,共40分)1. Python中,用于定义函数的关键字是______。
答案:def2. 在Python中,下列代码的输出结果是多少?`print(5 // 2)`答案:23. 以下代码的输出结果是______。
`print([1, 2, 3] + [4, 5, 6])`答案:[1, 2, 3, 4, 5, 6]三、编程题(共20分)1. 编写一个Python程序,实现以下功能:输入一个字符串,输出字符串中所有字符的ASCII值。
```python# 答案def print_ascii_values(input_str):for char in input_str:print(ord(char))# 测试input_str = input("请输入一个字符串:")print_ascii_values(input_str)```2. 编写一个Python程序,实现以下功能:输入一个整数列表,输出列表中的奇数和偶数。
目录重要次重要重复或欲删除基础第一章 C语言概述1.1 选择题1.2 填空题第二章数据类型、运算符与表达式2.1 选择题2.2 填空题第三章最简单的C程序设计3.1 选择题3.2 填空题第四章逻辑运算和判断选取控制4.1 选择题4.2 填空题4.3 编程题第五章循环控制5.1 选择题5.2 填空题5.3 编程题第六章数组6.1 选择题6.2 填空题6.3 编程题第七章函数7.1 选择题7.2 填空题7.3 编程题第八章编译预处理8.1 选择题8.2 填空题8.3 编程题第九章指针9.1 选择题9.2 填空题9.3 编程题第十章结构体和共用体10.1 选择题10.2 填空题10.3 编程题第十一章位运算11.1 选择题11.2 填空题11.3 编程题第十二章文件12.1 选择题12.2 填空题12.3 编程题第一章 C语言概述1.1 选择题*1.1一个C程序的执行是从。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。
但是C语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。
如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。
*1.2以下叙述正确的是。
A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误参考答案:C参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。
判断题:1、在C语言中,枚举元素表中的元素有先后次序,可以进行比较。
2、当需要接受用户从键盘输入的含有空格的字符串时,应使用gets()函数。
3、在C语言中,枚举元素表中的元素有先后次序,可以进行比较。
4、使用联合体union的目的是,将一组具有相同数据类型的数据作为一个整体,以便于其中的成员共享同一存储空间。
5、系统中标准输入文件是指硬盘。
6、已知函数调用形式:fread(buffer,size,count,fp);其中buffer代表的是一个指针,指向要读入数据的存放地址。
7、fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是追加。
8、枚举元素的值可以是整数或字符串。
9、可以在定义枚举类型时对枚举元素进行初始化。
10、若要"为读/写建立一个新的文本文件",在fopen函数中应使用的文件方式为"w+"。
11、标准输入输出函数中,将一个字符写到磁盘文件上去,应调用fputc函数。
12、在c语言中,库函数fprintf是按指定的格式将数据写入文件,如果执行成功,函数返回的是结束符。
13、操作系统是以文件为单位对数据进行管理的。
14、"C"指字符常量C。
15、字符串"china"在内存中占据的存储空间是5个字节。
16、char *name[5]定义了一个一维指针数组,它有5个元素,每个元素都是指向字符数据的指针型数据。
17、调用strlen("abc\0ef\0g")的返回值为8。
18、if(a==b)语句可用于判断两个字符串a和b是否相等。
19、两个字符串所包含的字符个数相同时才能比较字符串大小。
20、字符个数多的字符串比字符个数少的字符串大。
21、字符数组的字符串可以整体输入输出。
22、C语言本身没有输入输出语句。
23、在C程序中,注释说明只能位于一条语句的后面。
24、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为:char = int < long int <= float < double25、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为7。
第一章习题1.1选择题:⑴一个C程序的执行是(A)。
A)从main()函数开始,直到main()函数结束B)从第一个函数开始,直到最后一个函数结束C)从第一个语句开始,直到最后一个语句结束D)从main()函数开始,直到最后一个函数结束⑵计算机能直接执行的语言是(B)。
A)汇编语言B)机器语言C)高级语言D)A和B⑶一个C程序是由(C)。
A)一个主程序和若干子程序组成B)若干过程组成C)一个或多个函数组成D)若干子程序组成⑷下列说法正确的是(B )。
A)C程序书写格式限制严格,一行内必须写一个语句B)C程序书写比较自由,一个语句可以分行写在多行上C)C程序书写格式限制严格,要求一行内必须写一个语句,并要求行号D)C程序中一个语句不可以分写在多行上1.2填空题:⑴构成C语言程序的基本单位是函数。
⑵C语言源程序文件的后缀是.c,经过编译后,生成文件的后缀是,obj,经过连接后,生成文件的后缀是.exe。
⑶在TURBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是.exe。
⑷一个C语言程序必须有而且只能有一个主函数,它的函数名为main。
⑸一个函数有两部分组成,第一部分称为函数首部;第二部分称为函数体。
⑹函数体由符号{开始,用符号}结束。
函数体的前面是声明部分,其后是执行部分。
1.3上机编辑、调试、运行下列程序,发现错误,并改正之。
/*求1 + 2 + 3 + ……+ 10的和*/#include <stdio.h>main(){int s,n;sum = 0;n = 1;while(n < 0){sum = sum + n;n = n + 1;}printf("sum = %d \n",sum)}第二章习题2.1选择题⑴在以下标识符中,( B )是合法的用户标识符。
A)a#b B)getch C)void D)ab*⑵不合法的八进制数是(B)。
INT X X=23 %oA)0 B)028 C)077 D)01⑶不合法的十六进制数是(A)。
自考00342《高级语言程序设计(一)》历年真题集电子书目录1. 目录 (2)2. 历年真题 (3)2.1 00342高级语言程序设计200410 (3)2.2 00342高级语言程序设计200510 (10)2.3 00342高级语言程序设计200610 (21)2.4 00342高级语言程序设计200701 (28)2.5 00342高级语言程序设计200710 (35)2.6 00342高级语言程序设计200801 (39)2.7 00342高级语言程序设计200810 (43)2.8 00342高级语言程序设计200901 (47)2.9 00342高级语言程序设计200910 (52)2.10 00342高级语言程序设计201001 (57)2.11 00342高级语言程序设计201010 (62)2.12 00342高级语言程序设计201101 (66)2.13 00342高级语言程序设计201110 (73)3. 相关课程 (80)1. 目录历年真题()00342高级语言程序设计200410()00342高级语言程序设计200510()00342高级语言程序设计200610()00342高级语言程序设计200701()00342高级语言程序设计200710()00342高级语言程序设计200801()00342高级语言程序设计200810()00342高级语言程序设计200901()00342高级语言程序设计200910()00342高级语言程序设计201001()00342高级语言程序设计201010()00342高级语言程序设计201101()00342高级语言程序设计201110()相关课程()2. 历年真题2.1 00342高级语言程序设计200410高级语言程序设计(一)试题课程代码:0342一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
; 题目名称:分类统计字符
; 题目来源:/question/131013276.html
; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确。
Code Segment
Assume CS:Code,DS:Code
; -------------------------------------; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法: Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -------------------------------------; 功能:在当前光标位置显示一个字符
; 入口:dl=要显示的字符
Output_Chr proc Near
push ax
mov ah,02h
int 21h
pop ax
ret
Output_Chr Endp
; -------------------------------------; 功能:显示、输出一个回车、换行
Output_CTLF proc Near
push ax
push dx
mov ah,02h
mov dl,0dh
int 21h
mov dl,0ah
int 21h
pop dx
pop ax
ret
Output_CTLF Endp
; -------------------------------------; 功能:把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示
; 入口:AX=二进制数
; 出口:在当前光标位置显示转换后的ASCII码数字
Unsi_Dec_ASCII Proc Near
push dx
push bx
push di
mov bx,10
lea di,@@Temp_Save[5]
mov BYTE PTR [di],'$'
dec di
cld
@@Divide: xor dx,dx
div bx
or dl,30h
mov [di],dl
dec di
test ax,ax
jnz @@Divide
inc di
push di
pop dx
mov ah,9
int 21h
pop di
pop bx
pop dx
ret
@@Temp_Save db 6 dup(?)
Unsi_Dec_ASCII EndP
; -------------------------------------; 功能:键盘输入一个字符,若输入的是'y'或'n'(不分大小写),则显示并返回
; 入口:无
; 出口:若输入的是'y',进位标志置位;若输入的是'n',进位标志复位。
Yes_or_No proc Near
push dx
push ax
@@Input_Chr: mov ah,7 ;不带回显的键盘输入
int 21h
mov dl,al
and al,0dfh
cmp al,'Y'
jnz $+5
stc
jmp $+7
cmp al,'N'
jnz @@Input_Chr
clc
mov ah,2
int 21h
pop ax
pop dx
ret
Yes_or_No Endp
; -------------------------------------Letters dw ? ;字母个数
Dights dw ? ;数字个数
Others dw ? ;其它字符个数
Letters_sum db 13,10,'Letters: $'
Dights_sum db 13,10,'Digits : $'
Others_sum db 13,10,'Others : $'
Prompt_Str db 'Please input a string:$'
Prompt_Con db 13,10,13,10,'Continue(Y/N)?$'
Press_Key db 7,13,10,13,10,'The complated. Press any key to exit...$'
Start: push cs
pop ds
push cs
pop es
; -------------------------------------; 从键盘上连续输入一串字符(字符个数不超过80个,该字符串用回车符结束)Input_Str: Output Prompt_Str ;提示输入一串字符
lea dx,Buffer ;输入字符串缓冲区地址
mov ah,0ah ;从键盘接收字符串
int 21h
call Output_CTLF ;输出一个回车、换行
; -------------------------------------; 按字母、数字、其它字符分类统计计数
lea si,Buffer[1] ;实际输入的字符数地址
lodsb ;读入实际输入的字符数
xor ah,ah
mov cx,ax ;实际输入的字符数送计数器
jcxz Continue
mov Letters,0 ;字母计数单元清零
mov Dights,0 ;数字计数单元清零
mov Others,0 ;其它字符计数单元清零
Classify: lodsb ;当前字符→AL
cmp al,'0' ;当前字符<'0'?
jb Other_Chr ;小于,转去按其它字符处理
cmp al,'9' ;当前字符>'9'?
ja $+8 ;大于,转去判断是否字母
inc Dights ;数字计数
jmp Other_Chr[4]
mov ah,al ;al→ah,用于判断是否字母
and ah,0dfh ;屏蔽第5位,按大写字母处理
cmp ah,'A' ;当前字符<'A'?
jb Other_Chr ;小于,转去按其它字符处理
cmp ah,'Z' ;当前字符>'Z'?
ja Other_Chr ;大于,转去按其它字符处理
inc Letters ;字母计数
jmp $+6
Other_Chr: inc Others ;其它字符计数
loop Classify
; -------------------------------------
; 显示分类统计结果
Output Letters_sum
mov ax,Letters ;字母个数
call Unsi_Dec_ASCII ;把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示
Output Dights_sum
mov ax,Dights ;数字个数
call Unsi_Dec_ASCII
Output Others_sum
mov ax,Others ;其它字符个数
call Unsi_Dec_ASCII
Continue: Output Prompt_Con
call Yes_or_No
jnc Exit_Proc
call Output_CTLF
call Output_CTLF
jmp Input_Str
; -------------------------------------Exit_Proc: Output Press_Key ;提示操作完成,按任意键结束程序
mov ah,1
int 21h
mov ah,4ch ;结束程序
int 21h
Buffer db 80 ;字符串缓冲区
Code Ends
END Start ;编译到此结束
补充回答:这个就是我自己编的,何以这样不信任人呢?你又是根据什么判断我这个不是我自己编的呢?。